pub unsafe fn SetupInstallFileW<P0, P1, P2>(
    infhandle: Option<*const c_void>,
    infcontext: Option<*const INFCONTEXT>,
    sourcefile: P0,
    sourcepathroot: P1,
    destinationname: P2,
    copystyle: SP_COPY_STYLE,
    copymsghandler: PSP_FILE_CALLBACK_W,
    context: Option<*const c_void>,
) -> Result<()>
where P0: Param<PCWSTR>, P1: Param<PCWSTR>, P2: Param<PCWSTR>,