Paul Gofman : ntoskrnl.exe: Partially implement KeInitializeDpc() function.

Alexandre Julliard julliard at winehq.org
Thu May 28 17:11:10 CDT 2020


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

Author: Paul Gofman <pgofman at codeweavers.com>
Date:   Thu May 28 12:15:14 2020 +0300

ntoskrnl.exe: Partially implement KeInitializeDpc() function.

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

---

 dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++--
 include/ddk/wdm.h            | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index bfac397011..d50eac6c82 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3079,9 +3079,13 @@ MM_SYSTEMSIZE WINAPI MmQuerySystemSize(void)
 /***********************************************************************
  *           KeInitializeDpc   (NTOSKRNL.EXE.@)
  */
-VOID WINAPI KeInitializeDpc(PRKDPC Dpc, PKDEFERRED_ROUTINE DeferredRoutine, PVOID DeferredContext)
+void WINAPI KeInitializeDpc(KDPC *dpc, PKDEFERRED_ROUTINE deferred_routine, void *deferred_context)
 {
-    FIXME("stub\n");
+    FIXME("dpc %p, deferred_routine %p, deferred_context %p semi-stub.\n",
+            dpc, deferred_routine, deferred_context);
+
+    dpc->DeferredRoutine = deferred_routine;
+    dpc->DeferredContext = deferred_context;
 }
 
 /***********************************************************************
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 8368f8c6e9..9dce98516b 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1695,6 +1695,7 @@ void      WINAPI KeEnterCriticalRegion(void);
 void      WINAPI KeGenericCallDpc(PKDEFERRED_ROUTINE,PVOID);
 ULONG     WINAPI KeGetCurrentProcessorNumber(void);
 PKTHREAD  WINAPI KeGetCurrentThread(void);
+void      WINAPI KeInitializeDpc(KDPC*,PKDEFERRED_ROUTINE,void*);
 void      WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN);
 void      WINAPI KeInitializeMutex(PRKMUTEX,ULONG);
 void      WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG);




More information about the wine-cvs mailing list