diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index c4f2180c4c3..2291842a678 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 c4ddfb28305..28f8d5e4cd5 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 c1d083ef01a..b11f4d239d7 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*);