HalpArtDiscover
INT64 __stdcall HalpArtDiscover(){
WCHAR v1;
struct _UNICODE_STRING DestinationString;
TIMER_INITIALIZATION_BLOCK result;
_DWORD a1[2];
UINT64 a2;
*(_QWORD *)a1 = 0i64;
LODWORD(a2) = 0;
DestinationString = 0i64;
if( HalpArtAvailable(a1, &a2) )
{
memset((INT64)&result, 0i64);
result.CounterFrequency = 0i64;
result.InternalData = a1;
result.Header = (SOC_INITIALIZATION_HEADER)0x9000000001i64;
result.FunctionTable.Initialize = (PTIMER_INITIALIZE)HalpArtInitialize;
result.FunctionTable.QueryCounter = (PTIMER_QUERY_COUNTER)HalpArtQueryCounter;
result.CounterBitWidth = 64;
result.KnownType = TimerART;
result.Capabilities = 1081347;
result.InternalDataSize = 12;
RtlInitUnicodeString(
&DestinationString,
L"VEN_vvvv&DEV_dddd&SUBVEN_ssss&SUBDEV_yyyy&REV_rrrr&INST_iiii&UID_uuuuuuuu",
v1);
HalpTimerRegister(&result, &DestinationString);
HalpTimerAuxiliaryClockEnabled = 1;
}
return 0i64;
}Referenced by:
HalpTimerRegisterBuiltinPlugins