PopDiagInitialize
NTSTATUS __stdcall PopDiagInitialize(){
UINT64 UnbiasedInterruptTime;
char v1;
INT64 v2;
INT64 v3;
if( (int)EtwRegister(
(_LPCGUID)&POP_ETW_PROVIDER,
(PETWENABLECALLBACK)PopDiagTraceControlCallback,
&PopDiagHandle,
&PopDiagHandle) >= 0 )
{
PopDiagHandleRegistered = 1;
EtwSetInformation(
PopDiagHandle,
EventProviderSetTraits,
&`EnableManifestedProviderForMicrosoftTelemetry'::`2'::Traits,
(unsigned __int16)`EnableManifestedProviderForMicrosoftTelemetry'::`2'::Traits);
}
PopDiagDeviceRundownWorkItem.Parameter = 0i64;
PopDiagDeviceRundownWorkItem.List.Flink = 0i64;
PopDiagDeviceRundownWorkItem.WorkerRoutine = (void(__fastcall *)(void *))PopDiagDeviceRundownWorker;
TraceLoggingRegisterEx_EtwRegister_EtwSetInformation((char *)&stru_140C00F40 + 4776);
if( (int)EtwRegister((_LPCGUID)&POP_TRIGGER_ETW_PROVIDER, 0i64, 0i64, &PopTriggerDiagHandle) >= 0 )
PopTriggerDiagHandleRegistered = 1;
PopDiagSleepStudyInitialize();
PopTelemetryOsState.Thread = 0i64;
PopTelemetryOsState.Lock._bf_0 = 0i64;
qword_140C22BD8 = *(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart;
qword_140C22BE0 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
UnbiasedInterruptTime = KiQueryUnbiasedInterruptTime(1u);
byte_140C22C0C = v1;
qword_140C22BE8 = UnbiasedInterruptTime;
PopTransitionTelemetryOsState(PopTelemetryOsStateTransitionPowerOn, PopTelemetryOsStateSubtransitionNormal);
PdcTaskClientRegister(v3, v2);
return 0;
}Referenced by:
PoInitSystem