required for mrac anti cheat
-- v4: ntoskrnl: KeDeregisterProcessorChangeCallback stub
From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
--- dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 ++ include/ddk/wdm.h | 21 +++++++++++++++++++++ 3 files changed, 32 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 031e9900544..1a083ffabe0 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3592,6 +3592,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 e3898b06f89..e0a8a976022 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -613,6 +613,8 @@ @ stub KeReadStateTimer @ stub KeRegisterBugCheckCallback @ stub KeRegisterBugCheckReasonCallback +@ stdcall KeRegisterProcessorChangeCallback(ptr ptr long) +@ stdcall KeDeregisterProcessorChangeCallback(ptr) @ stub KeReleaseInterruptSpinLock @ stub KeReleaseMutant @ stdcall KeReleaseMutex(ptr long) diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 0aad83ade8c..ced5b71aa75 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 @@ -1582,6 +1587,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
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=123215
Your paranoid android.
=== debian11 (build log) ===
/usr/bin/i686-w64-mingw32-ld: ntoskrnl.exe-635ebfef.spec.o:fake:(.edata+0x998): undefined reference to `KeDeregisterProcessorChangeCallback@4' collect2: error: ld returned 1 exit status Task: The win32 Wine build failed
=== debian11 (build log) ===
/usr/bin/x86_64-w64-mingw32-ld: ntoskrnl.exe-635ebfb8.spec.o:fake:(.edata+0x9a8): undefined reference to `KeDeregisterProcessorChangeCallback' collect2: error: ld returned 1 exit status Task: The wow64 Wine build failed
From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
--- dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 1a083ffabe0..1613ea42544 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3601,6 +3601,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.@) */