[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    [PATCH 2/2] kernel32: Implement GetNumaHighestNodeNumber
From:       Chris Moeller <kode54 () gmail ! com>
Date:       2013-07-29 23:30:19
Message-ID: 00EFC8F3-290D-4447-B2EC-FFCBF2E3B11B () gmail ! com
[Download RAW message or body]

["0002-kernel32-Implement-GetNumaHighestNodeNumber-using-corr.txt" (0002-kernel32-Implement-GetNumaHighestNodeNumber-using-corr.txt)]

From 750f684d6c836f287d7ddb427f12b28da844736a Mon Sep 17 00:00:00 2001
From: Chris Moeller <kode54@gmail.com>
Date: Mon, 29 Jul 2013 16:20:14 -0700
Subject: kernel32: Implement GetNumaHighestNodeNumber using correct
 NtQuerySystemInformation API

---
 dlls/kernel32/process.c |   25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 6ce43d8..691b3d8 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -3849,9 +3849,28 @@ HRESULT WINAPI RegisterApplicationRecoveryCallback(APPLICATION_RECOVERY_CALLBACK
  */
 BOOL WINAPI GetNumaHighestNodeNumber(PULONG highestnode)
 {
-    FIXME("(%p): stub\n", highestnode);
-    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-    return FALSE;
+    ULONG NtHighestNode, ReturnLength;
+    NTSTATUS status;
+    
+    TRACE("(%p)\n", highestnode);
+    
+    status = NtQuerySystemInformation(SystemNumaHighestNodeNumber,
+                                      &NtHighestNode, sizeof(NtHighestNode),
+                                      &ReturnLength);
+    
+    if (status != STATUS_SUCCESS)
+    {
+        SetLastError(RtlNtStatusToDosError(status));
+        return FALSE;
+    }
+    else if (ReturnLength < sizeof(NtHighestNode))
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return FALSE;
+    }
+    
+    *highestnode = NtHighestNode;
+    return TRUE;
 }
 
 /**********************************************************************
-- 
1.7.10.2 (Apple Git-33)





[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic