[PATCH v9 0/2] MR841: ntoskrnl.exe: processor change callback stubs
required for mrac anti cheat -- v9: ntoskrnl.exe: Add KeDeregisterProcessorChangeCallback stub. ntoskrnl.exe: Add KeRegisterProcessorChangeCallback stub. https://gitlab.winehq.org/wine/wine/-/merge_requests/841
From: Etaash Mathamsetty <etaash.mathamsetty(a)gmail.com> --- dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + include/ddk/wdm.h | 21 +++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 9320e02dca9..1b53debc27a 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3627,6 +3627,15 @@ NTSTATUS WINAPI CmUnRegisterCallback(LARGE_INTEGER cookie) return STATUS_NOT_IMPLEMENTED; } +/*********************************************************************** + * KeRegisterProcessorChangeCallback (NTOSKRNL.EXE.@) + */ +PVOID WINAPI KeRegisterProcessorChangeCallback(PPROCESSOR_CALLBACK_FUNCTION function, PVOID context, ULONG flags) +{ + FIXME("(%p %p %ld) stub\n", function, context, flags); + return (PVOID)0xDEADBEEF; +} + /*********************************************************************** * IoAttachDevice (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index d3910c380df..4ab1edd0e57 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -615,6 +615,7 @@ @ stub KeReadStateTimer @ stub KeRegisterBugCheckCallback @ stub KeRegisterBugCheckReasonCallback +@ stdcall KeRegisterProcessorChangeCallback(ptr ptr long) @ stub KeReleaseInterruptSpinLock @ stub KeReleaseMutant @ stdcall KeReleaseMutex(ptr long) diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index bd6ddbd67c5..24e9d70a65f 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -29,6 +29,11 @@ #define POINTER_ALIGNMENT #endif +#ifndef WINE_PNTSTATUS_DECLARED +#define WINE_PNTSTATUS_DECLARED +typedef NTSTATUS *PNTSTATUS; +#endif + /* FIXME: We suppose that page size is 4096 */ #undef PAGE_SIZE #undef PAGE_SHIFT @@ -1599,6 +1604,22 @@ typedef enum _WORK_QUEUE_TYPE { typedef void (WINAPI *PIO_WORKITEM_ROUTINE)(PDEVICE_OBJECT,void*); +typedef enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE { + KeProcessorAddStartNotify = 0, + KeProcessorAddCompleteNotify, + KeProcessorAddFailureNotify +} KE_PROCESSOR_CHANGE_NOTIFY_STATE; + +typedef struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT { + KE_PROCESSOR_CHANGE_NOTIFY_STATE State; + ULONG NtNumber; + NTSTATUS Status; + PROCESSOR_NUMBER ProcNumber; +} KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT, *PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT; + +typedef void (WINAPI PROCESSOR_CALLBACK_FUNCTION)(PVOID,PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT,PNTSTATUS); +typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION; + NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle); #ifdef NONAMELESSUNION -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/841
From: Etaash Mathamsetty <etaash.mathamsetty(a)gmail.com> --- dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + 2 files changed, 9 insertions(+) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 1b53debc27a..f3bf806a5cc 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3636,6 +3636,14 @@ PVOID WINAPI KeRegisterProcessorChangeCallback(PPROCESSOR_CALLBACK_FUNCTION func return (PVOID)0xDEADBEEF; } +/*********************************************************************** + * KeDeregisterProcessorChangeCallback (NTOSKRNL.EXE.@) + */ +VOID WINAPI KeDeregisterProcessorChangeCallback(PVOID handle) +{ + FIXME("%p stub\n", handle); +} + /*********************************************************************** * IoAttachDevice (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 4ab1edd0e57..820b14cb4a2 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -616,6 +616,7 @@ @ stub KeRegisterBugCheckCallback @ stub KeRegisterBugCheckReasonCallback @ stdcall KeRegisterProcessorChangeCallback(ptr ptr long) +@ stdcall KeDeregisterProcessorChangeCallback(ptr) @ stub KeReleaseInterruptSpinLock @ stub KeReleaseMutant @ stdcall KeReleaseMutex(ptr long) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/841
participants (2)
-
Etaash Mathamsetty -
Etaash Mathamsetty (@etaash.mathamsetty)