Zebediah Figura : ntoskrnl.exe: Implement KeWaitForSingleObject().
Alexandre Julliard
julliard at winehq.org
Mon Nov 26 16:20:11 CST 2018
Module: wine
Branch: master
Commit: 05b278675f4b213fe881bbc6175c09a812f3047c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=05b278675f4b213fe881bbc6175c09a812f3047c
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Sat Nov 24 22:34:42 2018 -0600
ntoskrnl.exe: Implement KeWaitForSingleObject().
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 13 -------------
dlls/ntoskrnl.exe/sync.c | 9 +++++++++
include/ddk/wdm.h | 1 +
3 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index e6ca5e9..c1cfb03 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2447,19 +2447,6 @@ VOID WINAPI KeSetSystemAffinityThread(KAFFINITY Affinity)
}
/***********************************************************************
- * KeWaitForSingleObject (NTOSKRNL.EXE.@)
- */
-NTSTATUS WINAPI KeWaitForSingleObject(PVOID Object,
- KWAIT_REASON WaitReason,
- KPROCESSOR_MODE WaitMode,
- BOOLEAN Alertable,
- PLARGE_INTEGER Timeout)
-{
- FIXME( "stub: %p, %d, %d, %d, %p\n", Object, WaitReason, WaitMode, Alertable, Timeout );
- return STATUS_NOT_IMPLEMENTED;
-}
-
-/***********************************************************************
* IoRegisterFileSystem (NTOSKRNL.EXE.@)
*/
VOID WINAPI IoRegisterFileSystem(PDEVICE_OBJECT DeviceObject)
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index 3e6fcd4..8011b56 100644
--- a/dlls/ntoskrnl.exe/sync.c
+++ b/dlls/ntoskrnl.exe/sync.c
@@ -114,6 +114,15 @@ NTSTATUS WINAPI KeWaitForMultipleObjects(ULONG count, void *pobjs[],
}
/***********************************************************************
+ * KeWaitForSingleObject (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI KeWaitForSingleObject( void *obj, KWAIT_REASON reason,
+ KPROCESSOR_MODE mode, BOOLEAN alertable, LARGE_INTEGER *timeout )
+{
+ return KeWaitForMultipleObjects( 1, &obj, WaitAny, reason, mode, alertable, timeout, NULL );
+}
+
+/***********************************************************************
* KeInitializeEvent (NTOSKRNL.EXE.@)
*/
void WINAPI KeInitializeEvent( PRKEVENT event, EVENT_TYPE type, BOOLEAN state )
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index dbbc5a1..522bb3f 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1433,6 +1433,7 @@ LONG WINAPI KeSetEvent(PRKEVENT,KPRIORITY,BOOLEAN);
KPRIORITY WINAPI KeSetPriorityThread(PKTHREAD,KPRIORITY);
void WINAPI KeSetSystemAffinityThread(KAFFINITY);
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*);
PVOID WINAPI MmAllocateContiguousMemory(SIZE_T,PHYSICAL_ADDRESS);
PVOID WINAPI MmAllocateNonCachedMemory(SIZE_T);
More information about the wine-cvs
mailing list