pub unsafe fn CreateProcessWithTokenW<P0, P1, P2>(
    htoken: P0,
    dwlogonflags: CREATE_PROCESS_LOGON_FLAGS,
    lpapplicationname: P1,
    lpcommandline: PWSTR,
    dwcreationflags: PROCESS_CREATION_FLAGS,
    lpenvironment: Option<*const c_void>,
    lpcurrentdirectory: P2,
    lpstartupinfo: *const STARTUPINFOW,
    lpprocessinformation: *mut PROCESS_INFORMATION
) -> Result<()>
where P0: IntoParam<HANDLE>, P1: IntoParam<PCWSTR>, P2: IntoParam<PCWSTR>,