ntoskrnl.exe: Implement KeInitializeTimerEx().

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-27 19:43:04 -06:00 committed by Alexandre Julliard
parent 00b08fad99
commit bbed1bdd47
2 changed files with 25 additions and 21 deletions

View File

@ -2285,27 +2285,6 @@ void WINAPI KeInitializeSpinLock( PKSPIN_LOCK SpinLock )
FIXME( "stub: %p\n", SpinLock );
}
/***********************************************************************
* KeInitializeTimerEx (NTOSKRNL.EXE.@)
*/
void WINAPI KeInitializeTimerEx( PKTIMER Timer, TIMER_TYPE Type )
{
FIXME( "stub: %p %d\n", Timer, Type );
RtlZeroMemory(Timer, sizeof(KTIMER));
Timer->Header.Type = Type ? 9 : 8;
}
/***********************************************************************
* KeInitializeTimer (NTOSKRNL.EXE.@)
*/
void WINAPI KeInitializeTimer( PKTIMER Timer )
{
KeInitializeTimerEx(Timer, NotificationTimer);
}
/***********************************************************************
* KeInsertQueue (NTOSKRNL.EXE.@)
*/

View File

@ -38,6 +38,8 @@ enum object_type
TYPE_AUTO_EVENT = 1,
TYPE_MUTEX = 2,
TYPE_SEMAPHORE = 5,
TYPE_MANUAL_TIMER = 8,
TYPE_AUTO_TIMER = 9,
};
static CRITICAL_SECTION sync_cs;
@ -292,3 +294,26 @@ LONG WINAPI KeReleaseMutex( PRKMUTEX mutex, BOOLEAN wait )
return ret;
}
/***********************************************************************
* KeInitializeTimerEx (NTOSKRNL.EXE.@)
*/
void WINAPI KeInitializeTimerEx( KTIMER *timer, TIMER_TYPE type )
{
TRACE("timer %p, type %u.\n", timer, type);
RtlZeroMemory(timer, sizeof(KTIMER));
timer->Header.Type = (type == NotificationTimer) ? TYPE_MANUAL_TIMER : TYPE_AUTO_TIMER;
timer->Header.SignalState = FALSE;
timer->Header.Inserted = FALSE;
timer->Header.WaitListHead.Blink = NULL;
timer->Header.WaitListHead.Flink = NULL;
}
/***********************************************************************
* KeInitializeTimer (NTOSKRNL.EXE.@)
*/
void WINAPI KeInitializeTimer( KTIMER *timer )
{
KeInitializeTimerEx(timer, NotificationTimer);
}