[PATCH 2/6] ntoskrnl.exe: Implement KeInitializeEvent().

Zebediah Figura z.figura12 at gmail.com
Sat Nov 24 22:34:39 CST 2018


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/ntoskrnl.exe/ntoskrnl.c |  9 ---------
 dlls/ntoskrnl.exe/sync.c     | 13 +++++++++++++
 include/ddk/wdm.h            |  1 +
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 4c84a789d6..eb984bd838 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2277,15 +2277,6 @@ PRKTHREAD WINAPI KeGetCurrentThread(void)
     return NULL;
 }
 
-/***********************************************************************
- *           KeInitializeEvent   (NTOSKRNL.EXE.@)
- */
-void WINAPI KeInitializeEvent( PRKEVENT Event, EVENT_TYPE Type, BOOLEAN State )
-{
-    FIXME( "stub: %p %d %d\n", Event, Type, State );
-}
-
-
  /***********************************************************************
  *           KeInitializeMutex   (NTOSKRNL.EXE.@)
  */
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index 19af4f677a..e7ff7ec6f9 100644
--- a/dlls/ntoskrnl.exe/sync.c
+++ b/dlls/ntoskrnl.exe/sync.c
@@ -112,3 +112,16 @@ NTSTATUS WINAPI KeWaitForMultipleObjects(ULONG count, void *pobjs[],
 
     return ret;
 }
+
+/***********************************************************************
+ *           KeInitializeEvent   (NTOSKRNL.EXE.@)
+ */
+void WINAPI KeInitializeEvent( PRKEVENT event, EVENT_TYPE type, BOOLEAN state )
+{
+    TRACE("event %p, type %u, state %u.\n", event, type, state);
+
+    event->Header.Type = type;
+    event->Header.SignalState = state;
+    event->Header.WaitListHead.Blink = NULL;
+    event->Header.WaitListHead.Flink = NULL;
+}
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index ec2fc151ec..dbbc5a11cf 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1420,6 +1420,7 @@ NTSTATUS  WINAPI IoSetDeviceInterfaceState(UNICODE_STRING*,BOOLEAN);
 NTSTATUS  WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
 
 PKTHREAD  WINAPI KeGetCurrentThread(void);
+void      WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN);
 void      WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG);
 void      WINAPI KeInitializeTimerEx(PKTIMER,TIMER_TYPE);
 void      WINAPI KeQuerySystemTime(LARGE_INTEGER*);
-- 
2.14.1




More information about the wine-devel mailing list