[PATCH 2/5] ntoskrnl.exe: Add KeSignalCallDpcDone() function.

Paul Gofman pgofman at codeweavers.com
Wed May 27 04:50:47 CDT 2020


Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
 dlls/ntoskrnl.exe/ntoskrnl.c        | 5 +++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
 include/ddk/wdm.h                   | 1 +
 3 files changed, 7 insertions(+)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index c4f2180c4c..2291842a67 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -4011,3 +4011,8 @@ BOOLEAN WINAPI KdRefreshDebuggerNotPresent(void)
 
     return !KdDebuggerEnabled;
 }
+
+void WINAPI KeSignalCallDpcDone(void *barrier)
+{
+    InterlockedDecrement((LONG *)barrier);
+}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index c4ddfb2830..28f8d5e4cd 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 KeSignalCallDpcDone(ptr)
 @ stub KiAcquireSpinLock
 @ stub KiReleaseSpinLock
 @ stdcall -fastcall ObfDereferenceObject(ptr)
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index c1d083ef01..b11f4d239d 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1713,6 +1713,7 @@ KPRIORITY WINAPI KeSetPriorityThread(PKTHREAD,KPRIORITY);
 void      WINAPI KeSetSystemAffinityThread(KAFFINITY);
 KAFFINITY WINAPI KeSetSystemAffinityThreadEx(KAFFINITY affinity);
 BOOLEAN   WINAPI KeSetTimerEx(KTIMER*,LARGE_INTEGER,LONG,KDPC*);
+void      WINAPI KeSignalCallDpcDone(void*);
 NTSTATUS  WINAPI KeWaitForMultipleObjects(ULONG,void*[],WAIT_TYPE,KWAIT_REASON,KPROCESSOR_MODE,BOOLEAN,LARGE_INTEGER*,KWAIT_BLOCK*);
 NTSTATUS  WINAPI KeWaitForSingleObject(void*,KWAIT_REASON,KPROCESSOR_MODE,BOOLEAN,LARGE_INTEGER*);
 
-- 
2.26.2




More information about the wine-devel mailing list