MCPcopy Create free account
hub / github.com/NoMercy-ac/NoMercy / CreateUserThread

Function CreateUserThread

Source/Client/NM_Sys/API/ProcessesUtils.cpp:177–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175
176 _IRQL_requires_max_(PASSIVE_LEVEL)
177 NTSTATUS CreateUserThread(HANDLE hProcess, IN _UserThreadRoutine StartAddress, IN PVOID Argument, BOOLEAN CreateSuspended, OUT PHANDLE hThread, OUT PCLIENT_ID ClientId)
178 {
179 using _RtlCreateUserThread = NTSTATUS (NTAPI*)(IN HANDLE ProcessHandle, IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN CreateSuspended,
180 IN ULONG StackZeroBits, IN OUT PULONG StackReserved, IN OUT PULONG StackCommit, IN PVOID StartAddress, IN PVOID StartParameter, OUT PHANDLE ThreadHandle,
181 OUT PCLIENT_ID ClientID
182 );
183
184 static auto _CreateUserThread = static_cast<_RtlCreateUserThread>(Importer::GetKernelProcAddress(L"RtlCreateUserThread"));
185 if (_CreateUserThread)
186 return _CreateUserThread(hProcess, NULL, CreateSuspended, 0, NULL, NULL, StartAddress, Argument, hThread, ClientId);
187
188 return STATUS_NOT_IMPLEMENTED;
189 }
190
191 _IRQL_requires_max_(PASSIVE_LEVEL)
192 NTSTATUS CreateSystemThread(OPTIONAL HANDLE hProcess, PKSTART_ROUTINE StartAddress, PVOID Argument, OUT PHANDLE hThread, OUT PCLIENT_ID ClientId)

Callers 1

KbCreateUserThreadFunction · 0.85

Calls 1

GetKernelProcAddressFunction · 0.85

Tested by

no test coverage detected