[9/9] ntoskrnl.exe: Add semi-stub implementation of Ke*Event functions.

Alexander Morozov amorozov at etersoft.ru
Mon Oct 6 02:21:14 CDT 2008


-------------- next part --------------
From 9b83b9c005d0898f43539ab061ea104a09686419 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov at etersoft.ru>
Date: Fri, 3 Oct 2008 20:18:09 +0400
Subject: [PATCH] ntoskrnl.exe: Add semi-stub implementation of Ke*Event functions.

---
 dlls/ntoskrnl.exe/ntoskrnl.c |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 6a89784..35ac70f 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -874,6 +874,12 @@ void WINAPI KeInitializeEvent( PRKEVENT Event, EVENT_TYPE Type,
                                BOOLEAN State )
 {
     FIXME( "%p %u %u\n", Event, Type, State );
+    RtlZeroMemory( Event, sizeof(KEVENT) );
+    Event->Header.Type = Type;
+    Event->Header.Size = 4;
+    if (State)
+        Event->Header.SignalState = 1;
+    InitializeListHead( &Event->Header.WaitListHead );
 }
 
 
@@ -883,6 +889,7 @@ void WINAPI KeInitializeEvent( PRKEVENT Event, EVENT_TYPE Type,
 void WINAPI KeClearEvent( PRKEVENT Event )
 {
     FIXME( "%p\n", Event );
+    Event->Header.SignalState = 0;
 }
 
 
@@ -891,8 +898,13 @@ void WINAPI KeClearEvent( PRKEVENT Event )
  */
 LONG WINAPI KeResetEvent( PRKEVENT Event )
 {
+    LONG ret;
+
     FIXME( "%p\n", Event );
-    return 0;
+
+    ret = Event->Header.SignalState;
+    Event->Header.SignalState = 0;
+    return ret;
 }
 
 
@@ -902,8 +914,13 @@ LONG WINAPI KeResetEvent( PRKEVENT Event )
 LONG WINAPI KeSetEvent( PRKEVENT Event, KPRIORITY Increment,
                         BOOLEAN Wait )
 {
+    LONG ret;
+
     FIXME( "%p %d %d\n", Event, Increment, Wait );
-    return 0;
+
+    ret = Event->Header.SignalState;
+    Event->Header.SignalState = 1;
+    return ret;
 }
 
 
-- 
1.5.6.5.GIT



More information about the wine-patches mailing list