[PATCH 2/5] ntoskrnl.exe: Implement KeGetCurrentThread.

Derek Lesho dereklesho52 at gmail.com
Thu Mar 28 15:47:21 CDT 2019


Signed-off-by: Derek Lesho <dereklesho52 at Gmail.com>
---
 dlls/ntoskrnl.exe/ntoskrnl.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index fd75cdc886..61a3e4ba92 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2512,8 +2512,16 @@ static void *create_thread_object( HANDLE handle )
  */
 PRKTHREAD WINAPI KeGetCurrentThread(void)
 {
-    FIXME("() stub\n");
-    return NULL;
+    HANDLE hThread;
+    PKTHREAD thread_object = NULL;
+
+    if ((hThread = OpenThread( THREAD_ALL_ACCESS, 0, HandleToUlong(PsGetCurrentThreadId()) )))
+    {
+        kernel_object_from_handle( hThread, PsThreadType, (void**)&thread_object);
+        NtClose(hThread);
+    }
+
+    return thread_object;
 }
 
 /***********************************************************************
-- 
2.20.1




More information about the wine-devel mailing list