HalpArtDiscover

NTSTATUS __stdcall HalpArtDiscover(_MI_PARTITION *Partition){
  _UNICODE_STRING DestinationString; 
  _TIMER_INITIALIZATION_BLOCK NewTimer; 
  __int64 v4; 
  unsigned int v5; 

  v4 = 0i64;
  v5 = 0;
  DestinationString = 0i64;
  if( HalpArtAvailable(&v4, &v5) )
  {
    memset(&NewTimer, 0i64, sizeof(NewTimer));
    NewTimer.CounterFrequency = 0i64;
    NewTimer.InternalData = &v4;
    NewTimer.Header.TableVersion = 1;
    NewTimer.FunctionTable.Initialize = (PLONG)HalpArtInitialize;
    NewTimer.Header.TableSize = 144;
    NewTimer.FunctionTable.QueryCounter = (PULONG64)HalpArtQueryCounter;
    NewTimer.CounterBitWidth = 64;
    NewTimer.KnownType = TimerART;
    NewTimer.Capabilities = 1081347;
    NewTimer.InternalDataSize = 12;
    RtlInitUnicodeString(
      &DestinationString,
      L"VEN_vvvv&DEV_dddd&SUBVEN_ssss&SUBDEV_yyyy&REV_rrrr&INST_iiii&UID_uuuuuuuu");
    HalpTimerRegister(&NewTimer, &DestinationString);
    HalpTimerAuxiliaryClockEnabled = 1;
  }
  return 0;
}

Referenced by:

HalpTimerRegisterBuiltinPlugins