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.