required by mrac anti-cheat
-- v7: ntoskrnl: Implement KeGetCurrentProcessorNumberEx
From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
Fix Review Feedback
use a var to store NtGetCurrentProcessorNumber value --- dlls/ntoskrnl.exe/ntoskrnl.c | 19 +++++++++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + 2 files changed, 20 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 031e9900544..12db1cd81c5 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3379,6 +3379,25 @@ VOID WINAPI KeSetTargetProcessorDpc(PRKDPC dpc, CCHAR number) FIXME("%p, %d stub\n", dpc, number); }
+/*********************************************************************** + * KeGetCurrentProcessorNumberEx (NTOSKRNL.EXE.@) + */ +ULONG WINAPI KeGetCurrentProcessorNumberEx(PPROCESSOR_NUMBER process_number) +{ + FIXME("%p semi-stub\n", process_number); + + ULONG cur_number = NtGetCurrentProcessorNumber(); + + if (process_number) + { + process_number->Group = 0; + process_number->Reserved = 0; + process_number->Number = cur_number; + } + + return cur_number; +} + /*********************************************************************** * READ_REGISTER_BUFFER_UCHAR (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index e3898b06f89..2377311f9c5 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -555,6 +555,7 @@ @ stub KeFlushEntireTb @ stdcall KeFlushQueuedDpcs() @ stdcall KeGetCurrentProcessorNumber() NtGetCurrentProcessorNumber +@ stdcall KeGetCurrentProcessorNumberEx(ptr) @ stdcall KeGetCurrentThread() @ stub KeGetPreviousMode @ stub KeGetRecommendedSharedDataAlignment