public static extern NtStatus RtlCreateProcessParametersEx( [Out] out IntPtr pProcessParameters, [In] UnicodeString ImagePathName, [In] UnicodeString DllPath, [In] UnicodeString CurrentDirectory, [In] UnicodeString CommandLine, [In, MarshalAs(UnmanagedType.LPArray)] byte[] Environment, [In] UnicodeString WindowTitle, [In] UnicodeString DesktopInfo, [In] UnicodeString ShellInfo, [In] UnicodeString RuntimeData, CreateProcessParametersFlags Flags);
public static SafeProcessParametersBuffer Create( string image_path_name, string dll_path, string current_directory, string command_line, byte[] environment, string window_title, string desktop_info, string shell_info, string runtime_data, CreateProcessParametersFlags flags) { return(Create(image_path_name, dll_path, current_directory, command_line, environment, window_title, desktop_info, shell_info, runtime_data, flags, true).Result); }
public static NtResult <SafeProcessParametersBuffer> Create( string image_path_name, string dll_path, string current_directory, string command_line, byte[] environment, string window_title, string desktop_info, string shell_info, string runtime_data, CreateProcessParametersFlags flags, bool throw_on_error) { return(NtRtl.RtlCreateProcessParametersEx(out IntPtr ret, GetString(image_path_name), GetString(dll_path), GetString(current_directory), GetString(command_line), environment, GetString(window_title), GetString(desktop_info), GetString(shell_info), GetString(runtime_data), flags).CreateResult(throw_on_error, () => new SafeProcessParametersBuffer(ret, true))); }