diff --git a/PInvoke/NTDll/Winternl.cs b/PInvoke/NTDll/Winternl.cs
index c0cf655a..9d4ff2f2 100644
--- a/PInvoke/NTDll/Winternl.cs
+++ b/PInvoke/NTDll/Winternl.cs
@@ -191,6 +191,42 @@ namespace Vanara.PInvoke
MaxSubsystemInformationType,
}
+ ///
+ [Flags]
+ public enum PROCESS_CREATE_FLAGS : uint
+ {
+ ///
+ PROCESS_CREATE_FLAGS_BREAKAWAY = 0x00000001,
+ ///
+ PROCESS_CREATE_FLAGS_NO_DEBUG_INHERIT = 0x00000002,
+ ///
+ PROCESS_CREATE_FLAGS_INHERIT_HANDLES = 0x00000004,
+ ///
+ PROCESS_CREATE_FLAGS_OVERRIDE_ADDRESS_SPACE = 0x00000008,
+ ///
+ PROCESS_CREATE_FLAGS_LARGE_PAGES = 0x00000010,
+ }
+
+ [DllImport(Lib.NtDll, SetLastError = false, ExactSpelling = true)]
+ public static extern NTStatus NtCreateProcess(out HPROCESS ProcessHandle, [In] ACCESS_MASK DesiredAccess, in OBJECT_ATTRIBUTES ObjectAttributes,
+ [In] HPROCESS ParentProcess, [In, MarshalAs(UnmanagedType.U1)] bool InheritObjectTable, [In, Optional] IntPtr SectionHandle,
+ [In, Optional] IntPtr DebugPort, [In, Optional] IntPtr ExceptionPort);
+
+ [DllImport(Lib.NtDll, SetLastError = false, ExactSpelling = true)]
+ public static extern NTStatus NtCreateProcess(out HPROCESS ProcessHandle, [In] ACCESS_MASK DesiredAccess, [In, Optional] IntPtr ObjectAttributes,
+ [In] HPROCESS ParentProcess, [In, MarshalAs(UnmanagedType.U1)] bool InheritObjectTable, [In, Optional] IntPtr SectionHandle,
+ [In, Optional] IntPtr DebugPort, [In, Optional] IntPtr ExceptionPort);
+
+ [DllImport(Lib.NtDll, SetLastError = false, ExactSpelling = true)]
+ public static extern NTStatus NtCreateProcessEx(out HPROCESS ProcessHandle, [In] ACCESS_MASK DesiredAccess, in OBJECT_ATTRIBUTES ObjectAttributes,
+ [In] HPROCESS ParentProcess, [In] PROCESS_CREATE_FLAGS Flags, [In, Optional] IntPtr SectionHandle,
+ [In, Optional] IntPtr DebugPort, [In, Optional] IntPtr ExceptionPort, uint JobMemberLevel);
+
+ [DllImport(Lib.NtDll, SetLastError = false, ExactSpelling = true)]
+ public static extern NTStatus NtCreateProcessEx(out HPROCESS ProcessHandle, [In] ACCESS_MASK DesiredAccess, [In, Optional] IntPtr ObjectAttributes,
+ [In] HPROCESS ParentProcess, [In] PROCESS_CREATE_FLAGS Flags, [In, Optional] IntPtr SectionHandle,
+ [In, Optional] IntPtr DebugPort, [In, Optional] IntPtr ExceptionPort, uint JobMemberLevel);
+
///
///
/// [ NtQueryInformationProcess may be altered or unavailable in future versions of Windows. Applications should use the