Module: wine Branch: master Commit: 38577522ea21e4597a630376a1b4fa74ec61e260 URL: https://gitlab.winehq.org/wine/wine/-/commit/38577522ea21e4597a630376a1b4fa7...
Author: Etaash Mathamsetty etaash.mathamsetty@gmail.com Date: Sat Oct 29 00:05:16 2022 -0400
ntoskrnl.exe: Implement KeQueryMaximumProcessorCount/Ex.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 16 ++++++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 4 ++++ include/winbase.h | 1 + 3 files changed, 21 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 9320e02dca9..a0a073eda2e 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3414,6 +3414,22 @@ ULONG WINAPI KeGetCurrentProcessorNumberEx(PPROCESSOR_NUMBER process_number) return cur_number; }
+/*********************************************************************** + * KeQueryMaximumProcessorCountEx (NTOSKRNL.EXE.@) + */ +ULONG WINAPI KeQueryMaximumProcessorCountEx(USHORT group_number) +{ + return GetMaximumProcessorCount(group_number); +} + +/*********************************************************************** + * KeQueryMaximumProcessorCount (NTOSKRNL.EXE.@) + */ +ULONG WINAPI KeQueryMaximumProcessorCount(void) +{ + return KeQueryActiveProcessorCountEx(ALL_PROCESSOR_GROUPS); +} + /*********************************************************************** * READ_REGISTER_BUFFER_UCHAR (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index d3910c380df..cfb74a008b6 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -600,12 +600,16 @@ @ stub KePulseEvent @ stdcall KeQueryActiveProcessors() @ stdcall KeQueryActiveProcessorCountEx(long) +@ stdcall KeQueryActiveGroupCount() GetActiveProcessorGroupCount @ stdcall KeQueryInterruptTime() @ stdcall KeQueryPriorityThread(ptr) @ stub KeQueryRuntimeThread @ stdcall KeQuerySystemTime(ptr) @ stdcall KeQueryTickCount(ptr) @ stdcall KeQueryTimeIncrement() +@ stdcall KeQueryMaximumGroupCount() GetMaximumProcessorGroupCount +@ stdcall KeQueryMaximumProcessorCountEx(long) +@ stdcall KeQueryMaximumProcessorCount() @ stub KeRaiseUserException @ stdcall KeReadStateEvent(ptr) @ stub KeReadStateMutant diff --git a/include/winbase.h b/include/winbase.h index 71b5d4569cd..7ad56502566 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2201,6 +2201,7 @@ WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD); WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD); #define GetLongPathName WINELIB_NAME_AW(GetLongPathName) WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD); +WINBASEAPI DWORD WINAPI GetMaximumProcessorCount(WORD); WINBASEAPI DWORD WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD); WINBASEAPI DWORD WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD); #define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)