pub unsafe fn CreateProcessW<P0, P1, P2>(
    lpapplicationname: P0,
    lpcommandline: PWSTR,
    lpprocessattributes: Option<*const SECURITY_ATTRIBUTES>,
    lpthreadattributes: Option<*const SECURITY_ATTRIBUTES>,
    binherithandles: P1,
    dwcreationflags: PROCESS_CREATION_FLAGS,
    lpenvironment: Option<*const c_void>,
    lpcurrentdirectory: P2,
    lpstartupinfo: *const STARTUPINFOW,
    lpprocessinformation: *mut PROCESS_INFORMATION
) -> Result<()>
where P0: IntoParam<PCWSTR>, P1: IntoParam<BOOL>, P2: IntoParam<PCWSTR>,