Paul Gofman : ntoskrnl.exe: Add KeSignalCallDpcDone() function.

Alexandre Julliard julliard at winehq.org
Wed May 27 15:19:30 CDT 2020


Module: wine
Branch: master
Commit: 73d915fd8e3c7389b114f5d8379d126047b906e7
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=73d915fd8e3c7389b114f5d8379d126047b906e7

Author: Paul Gofman <pgofman at codeweavers.com>
Date:   Wed May 27 12:50:47 2020 +0300

ntoskrnl.exe: Add KeSignalCallDpcDone() function.

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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*);
 




More information about the wine-cvs mailing list