[PATCH] ntoskrnl.exe: Implement KeQueryActiveProcessors

Detlef Riekenberg wine.dev at web.de
Sun Apr 6 13:34:49 CDT 2008


---
 dlls/ntoskrnl.exe/ntoskrnl.c        |   21 +++++++++++++++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 2 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 6a3c9f3..b9b7e83 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -510,6 +510,27 @@ void WINAPI KeInitializeTimer( PKTIMER Timer )
     KeInitializeTimerEx(Timer, NotificationTimer);
 }
 
+/**********************************************************************
+ *           KeQueryActiveProcessors   (NTOSKRNL.EXE.@)
+ *
+ * Return the active Processors as bitmask
+ *
+ * RETURNS
+ *   Success: active Processors as bitmask
+ *
+ */
+KAFFINITY WINAPI KeQueryActiveProcessors( void )
+{
+    DWORD_PTR   AffinityMask;
+
+    if (GetProcessAffinityMask( GetCurrentProcess(), &AffinityMask, NULL)) {
+        return AffinityMask;
+    }
+
+    /* No Idea, what to do, when GetProcessAffinityMask fail.
+       We use the first Processor */
+    return 1;
+}
 
 /***********************************************************************
  *           KeQuerySystemTime   (NTOSKRNL.EXE.@)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 461bf28..dbab0fa 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -569,7 +569,7 @@
 @ stub KeProfileInterrupt
 @ stub KeProfileInterruptWithSource
 @ stub KePulseEvent
-@ stub KeQueryActiveProcessors
+@ stdcall KeQueryActiveProcessors()
 @ stub KeQueryInterruptTime
 @ stub KeQueryPriorityThread
 @ stub KeQueryRuntimeThread
-- 
1.5.3.6


--=-RTRu3HoN+H2Kr4VDcdcB--




More information about the wine-patches mailing list