fixes bug: https://bugs.winehq.org/show_bug.cgi?id=48989
-- v5: ntoskrnl.exe: Add semi-stub for KeIpiGenericCall.
From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
--- dlls/ntoskrnl.exe/ntoskrnl.c | 7 +++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + include/ddk/wdm.h | 3 +++ 3 files changed, 11 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 66c39996d59..c929fbc4102 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -4331,6 +4331,13 @@ BOOLEAN WINAPI KdRefreshDebuggerNotPresent(void) return !KdDebuggerEnabled; }
+ULONG_PTR WINAPI KeIpiGenericCall(KIPI_BROADCAST_WORKER *worker, ULONG_PTR context) +{ + FIXME("semi-stub: %p %Ix\n", worker, context); + + return (*worker)(context); +} + struct generic_call_dpc_context { DEFERRED_REVERSE_BARRIER *reverse_barrier; diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 0a484829ca3..89c275984c1 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -59,6 +59,7 @@ @ stub KeSetTimeUpdateNotifyRoutine @ stub KefAcquireSpinLockAtDpcLevel @ stub KefReleaseSpinLockFromDpcLevel +@ stdcall KeIpiGenericCall(ptr long) @ stdcall KeGenericCallDpc(ptr ptr) @ stdcall KeSignalCallDpcDone(ptr) @ stdcall KeSignalCallDpcSynchronize(ptr) diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 321b07b84fa..aa2989074ac 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1599,6 +1599,9 @@ typedef enum _WORK_QUEUE_TYPE {
typedef void (WINAPI *PIO_WORKITEM_ROUTINE)(PDEVICE_OBJECT,void*);
+typedef ULONG_PTR (WINAPI KIPI_BROADCAST_WORKER)(ULONG_PTR); +typedef KIPI_BROADCAST_WORKER *PKIPI_BROADCAST_WORKER; + NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
#ifdef NONAMELESSUNION