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