mirror of
https://github.com/zodiacon/NativeApps
synced 2026-06-08 18:38:28 +00:00
cleanup process parameters
This commit is contained in:
+9
-16
@@ -17,16 +17,6 @@ typedef struct _RTL_USER_PROCESS_INFORMATION {
|
||||
} RTL_USER_PROCESS_INFORMATION, * PRTL_USER_PROCESS_INFORMATION;
|
||||
|
||||
extern"C" {
|
||||
NTSTATUS NTAPI NtCreateProcess(
|
||||
_Out_ PHANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ HANDLE ParentProcess,
|
||||
_In_ BOOLEAN InheritObjectTable,
|
||||
_In_opt_ HANDLE SectionHandle,
|
||||
_In_opt_ HANDLE DebugPort,
|
||||
_In_opt_ HANDLE ExceptionPort
|
||||
);
|
||||
NTSTATUS NTAPI RtlCreateUserProcess(
|
||||
__in PUNICODE_STRING NtImagePathName,
|
||||
__in ULONG Attributes,
|
||||
@@ -37,11 +27,10 @@ extern"C" {
|
||||
__in BOOLEAN InheritHandles,
|
||||
__in_opt HANDLE DebugPort,
|
||||
__in_opt HANDLE TokenHandle,
|
||||
__out PRTL_USER_PROCESS_INFORMATION ProcessInformation
|
||||
);
|
||||
__out PRTL_USER_PROCESS_INFORMATION ProcessInformation);
|
||||
|
||||
NTSTATUS NTAPI RtlCreateProcessParameters(
|
||||
__deref_out PVOID* pProcessParameters,
|
||||
__deref_out PRTL_USER_PROCESS_PARAMETERS* pProcessParameters,
|
||||
__in PUNICODE_STRING ImagePathName,
|
||||
__in_opt PUNICODE_STRING DllPath,
|
||||
__in_opt PUNICODE_STRING CurrentDirectory,
|
||||
@@ -50,8 +39,11 @@ extern"C" {
|
||||
__in_opt PUNICODE_STRING WindowTitle,
|
||||
__in_opt PUNICODE_STRING DesktopInfo,
|
||||
__in_opt PUNICODE_STRING ShellInfo,
|
||||
__in_opt PUNICODE_STRING RuntimeData
|
||||
);
|
||||
__in_opt PUNICODE_STRING RuntimeData);
|
||||
|
||||
NTSTATUS NTAPI RtlDestroyProcessParameters(
|
||||
_In_ _Post_invalid_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
|
||||
|
||||
}
|
||||
|
||||
int Error(NTSTATUS status) {
|
||||
@@ -69,7 +61,7 @@ int wmain(int argc, const wchar_t* argv[]) {
|
||||
RtlInitUnicodeString(&name, argv[1]);
|
||||
|
||||
RTL_USER_PROCESS_INFORMATION info;
|
||||
PVOID params;
|
||||
PRTL_USER_PROCESS_PARAMETERS params;
|
||||
auto status = RtlCreateProcessParameters(¶ms, &name, nullptr, nullptr, &name,
|
||||
nullptr,
|
||||
nullptr,
|
||||
@@ -86,6 +78,7 @@ int wmain(int argc, const wchar_t* argv[]) {
|
||||
printf("Process 0x%p created!\n", info.ClientId.UniqueProcess);
|
||||
|
||||
ResumeThread(info.Thread);
|
||||
RtlDestroyProcessParameters(params);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user