diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 63d6fc9ebed..03abe1092ec 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -998,6 +998,15 @@ void WINAPI KeInitializeMutex(PRKMUTEX Mutex, ULONG Level) } +/*********************************************************************** + * KeInitializeSemaphore (NTOSKRNL.EXE.@) + */ +void WINAPI KeInitializeSemaphore( PRKSEMAPHORE Semaphore, LONG Count, LONG Limit ) +{ + FIXME( "(%p %d %d) stub\n", Semaphore , Count, Limit ); +} + + /*********************************************************************** * KeInitializeSpinLock (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index f6402af3e8b..f6d213feabf 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -551,7 +551,7 @@ @ stub KeInitializeMutant @ stdcall KeInitializeMutex(ptr long) @ stub KeInitializeQueue -@ stub KeInitializeSemaphore +@ stdcall KeInitializeSemaphore(ptr long long) @ stdcall KeInitializeSpinLock(ptr) @ stdcall KeInitializeTimer(ptr) @ stdcall KeInitializeTimerEx(ptr long) diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 3bc7238c04a..b8f51496f74 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -59,6 +59,11 @@ typedef struct _KEVENT { DISPATCHER_HEADER Header; } KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT; +typedef struct _KSEMAPHORE { + DISPATCHER_HEADER Header; + LONG Limit; +} KSEMAPHORE, *PKSEMAPHORE, *PRKSEMAPHORE; + typedef struct _KDPC { CSHORT Type; UCHAR Number;