From: Andrew Wesie Subject: [01/23] ntdll: Implement NtCreateThreadEx (ignoring stack parameters). Message-Id: <1479062123-21238-2-git-send-email-awesie@gmail.com> Date: Sun, 13 Nov 2016 12:35:01 -0600 In-Reply-To: <1479062123-21238-1-git-send-email-awesie@gmail.com> References: <1479062123-21238-1-git-send-email-awesie@gmail.com> Signed-off-by: Andrew Wesie --- dlls/ntdll/ntdll.spec | 1 + dlls/ntdll/thread.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 4fd944e..9197f03 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -148,6 +148,7 @@ @ stdcall NtCreateSemaphore(ptr long ptr long long) @ stdcall NtCreateSymbolicLinkObject(ptr long ptr ptr) @ stub NtCreateThread +@ stdcall NtCreateThreadEx(ptr long ptr ptr ptr ptr long ptr long long ptr) @ stdcall NtCreateTimer(ptr long ptr long) @ stub NtCreateToken # @ stub NtCreateWaitablePort diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c index 6127c8f..f3004bd 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -453,6 +453,23 @@ static void start_thread( struct startup_info *info ) call_thread_entry_point( (LPTHREAD_START_ROUTINE)func, arg ); } +NTSTATUS WINAPI NtCreateThreadEx(PHANDLE hThread, + ACCESS_MASK DesiredAccess, + POBJECT_ATTRIBUTES ObjectAttributes, + HANDLE ProcessHandle, + LPTHREAD_START_ROUTINE lpStartAddress, + LPVOID lpParameter, + ULONG CreateFlags, + ULONG StackZeroBits, + ULONG SizeOfStackCommit, + ULONG SizeOfStackReserve, + LPVOID lpBytesBuffer) +{ + TRACE( "%p, %lx, %p, %lx, %p, %p, %lx, %lx, %lx, %lx, %p\n", hThread, DesiredAccess, ObjectAttributes, ProcessHandle, lpStartAddress, lpParameter, CreateFlags, StackZeroBits, SizeOfStackCommit, SizeOfStackReserve, lpBytesBuffer ); + NTSTATUS status = RtlCreateUserThread(ProcessHandle, NULL, CreateFlags & 1, NULL, 0, 0, lpStartAddress, lpParameter, hThread, NULL); + TRACE( "ret=%d, handle=%lx\n", status, *hThread ); + return status; +} /*********************************************************************** * RtlCreateUserThread (NTDLL.@) -- 2.7.4