Commit 0d2ea2a9 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

Implemented OpenThread on top of NtOpenThread.

parent 803c8d96
......@@ -200,16 +200,27 @@ HANDLE WINAPI CreateRemoteThread( HANDLE hProcess, SECURITY_ATTRIBUTES *sa, SIZE
*/
HANDLE WINAPI OpenThread( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwThreadId )
{
HANDLE ret = 0;
SERVER_START_REQ( open_thread )
NTSTATUS status;
HANDLE handle;
OBJECT_ATTRIBUTES attr;
CLIENT_ID cid;
attr.Length = sizeof(attr);
attr.RootDirectory = 0;
attr.Attributes = bInheritHandle ? OBJ_INHERIT : 0;
attr.ObjectName = NULL;
attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL;
cid.UniqueProcess = 0; /* FIXME */
cid.UniqueThread = (HANDLE)dwThreadId;
status = NtOpenThread( &handle, dwDesiredAccess, &attr, &cid );
if (status)
{
req->tid = dwThreadId;
req->access = dwDesiredAccess;
req->inherit = bInheritHandle;
if (!wine_server_call_err( req )) ret = reply->handle;
SetLastError( RtlNtStatusToDosError(status) );
handle = 0;
}
SERVER_END_REQ;
return ret;
return handle;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment