WmiGetClock
NTSTATUS __stdcall WmiGetClock(tagWMI_CLOCK_TYPE ClockType, VOID *Context){
_ETW_SILODRIVERSTATE *EtwSiloState;
__int64 v4;
int v5;
EtwSiloState = PsGetCurrentServerSiloGlobals(*(_KSPIN_LOCK **)&ClockType)->EtwSiloState;
LODWORD(v4) = 0;
if( ClockType == WMICT_DEFAULT )
{
v5 = EtwSiloState->SystemLoggerSettings.EtwpSystemLogger[0].ClockType - 2;
if( !v5 )
goto LABEL_10;
if( v5 == 1 )
return __rdtsc();
LABEL_9:
LODWORD(v4) = KeQueryPerformanceCounter(0i64);
return v4;
}
if( ClockType == WMICT_PERFCOUNTER )
goto LABEL_9;
if( ClockType <= WMICT_PERFCOUNTER )
goto LABEL_10;
if( ClockType > WMICT_THREAD )
{
if( ClockType == WMICT_CPUCYCLE )
return __rdtsc();
LABEL_10:
LODWORD(v4) = RtlGetSystemTimePrecise();
}
return v4;
}Referenced by:
No references.