From a29204cb1326f8344bde20a273bc482a16152980 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sat, 24 Nov 2018 22:34:39 -0600 Subject: [PATCH] ntoskrnl.exe: Implement KeInitializeEvent(). Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- 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 4c84a789d6c..eb984bd8388 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 19af4f677a5..e7ff7ec6f90 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 ec2fc151ec5..dbbc5a11cf0 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*);