ntoskrnl.exe: Implement KeInitializeMutex().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2018-11-26 19:39:18 -06:00 committed by Alexandre Julliard
parent 4824d7217b
commit e3223f30aa
3 changed files with 15 additions and 9 deletions

View File

@ -2277,15 +2277,6 @@ PRKTHREAD WINAPI KeGetCurrentThread(void)
return NULL; return NULL;
} }
/***********************************************************************
* KeInitializeMutex (NTOSKRNL.EXE.@)
*/
void WINAPI KeInitializeMutex(PRKMUTEX Mutex, ULONG Level)
{
FIXME( "stub: %p, %u\n", Mutex, Level );
}
/*********************************************************************** /***********************************************************************
* KeWaitForMutexObject (NTOSKRNL.EXE.@) * KeWaitForMutexObject (NTOSKRNL.EXE.@)
*/ */

View File

@ -36,6 +36,7 @@ enum object_type
{ {
TYPE_MANUAL_EVENT = 0, TYPE_MANUAL_EVENT = 0,
TYPE_AUTO_EVENT = 1, TYPE_AUTO_EVENT = 1,
TYPE_MUTEX = 2,
TYPE_SEMAPHORE = 5, TYPE_SEMAPHORE = 5,
}; };
@ -218,3 +219,16 @@ LONG WINAPI KeReleaseSemaphore( PRKSEMAPHORE semaphore, KPRIORITY increment,
return ret; return ret;
} }
/***********************************************************************
* KeInitializeMutex (NTOSKRNL.EXE.@)
*/
void WINAPI KeInitializeMutex( PRKMUTEX mutex, ULONG level )
{
TRACE("mutex %p, level %u.\n", mutex, level);
mutex->Header.Type = TYPE_MUTEX;
mutex->Header.SignalState = 1;
mutex->Header.WaitListHead.Blink = NULL;
mutex->Header.WaitListHead.Flink = NULL;
}

View File

@ -1421,6 +1421,7 @@ NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
PKTHREAD WINAPI KeGetCurrentThread(void); PKTHREAD WINAPI KeGetCurrentThread(void);
void WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN); void WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN);
void WINAPI KeInitializeMutex(PRKMUTEX,ULONG);
void WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG); void WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG);
void WINAPI KeInitializeTimerEx(PKTIMER,TIMER_TYPE); void WINAPI KeInitializeTimerEx(PKTIMER,TIMER_TYPE);
void WINAPI KeQuerySystemTime(LARGE_INTEGER*); void WINAPI KeQuerySystemTime(LARGE_INTEGER*);