/**
* Creates a new process.
*
* @param ProcessHandle A pointer to a handle that receives the process object handle.
* @param DesiredAccess The access rights desired for the process object.
* @param ObjectAttributes Optional. A pointer to an OBJECT_ATTRIBUTES structure that specifies the attributes of the new process.
* @param ParentProcess A handle to the parent process.
* @param InheritObjectTable If TRUE, the new process inherits the object table of the parent process.
* @param SectionHandle Optional. A handle to a section object to be used for the new process.
* @param DebugPort Optional. A handle to a debug port to be used for the new process.
* @param TokenHandle Optional. A handle to an access token to be used for the new process.
* @return NTSTATUS Successful or errant status.
*/
NTSYSCALLAPI
NTSTATUS
NTAPI
NtCreateProcess(
_Out_ PHANDLE ProcessHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_opt_ PCOBJECT_ATTRIBUTES ObjectAttributes,
_In_ HANDLE ParentProcess,
_In_ BOOLEAN InheritObjectTable,
_In_opt_ HANDLE SectionHandle,
_In_opt_ HANDLE DebugPort,
_In_opt_ HANDLE TokenHandle
);
View code on GitHub
NTSYSCALLAPI
NTSTATUS
NTAPI
ZwCreateProcess(
_Out_ PHANDLE ProcessHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_opt_ PCOBJECT_ATTRIBUTES ObjectAttributes,
_In_ HANDLE ParentProcess,
_In_ BOOLEAN InheritObjectTable,
_In_opt_ HANDLE SectionHandle,
_In_opt_ HANDLE DebugPort,
_In_opt_ HANDLE TokenHandle
);
View code on GitHub