pub unsafe fn CreateProcessWithLogonW<P0, P1, P2, P3, P4>(
    lpusername: P0,
    lpdomain: P1,
    lppassword: P2,
    dwlogonflags: CREATE_PROCESS_LOGON_FLAGS,
    lpapplicationname: P3,
    lpcommandline: PWSTR,
    dwcreationflags: PROCESS_CREATION_FLAGS,
    lpenvironment: Option<*const c_void>,
    lpcurrentdirectory: P4,
    lpstartupinfo: *const STARTUPINFOW,
    lpprocessinformation: *mut PROCESS_INFORMATION
) -> Result<()>
where P0: IntoParam<PCWSTR>, P1: IntoParam<PCWSTR>, P2: IntoParam<PCWSTR>, P3: IntoParam<PCWSTR>, P4: IntoParam<PCWSTR>,