PerfDiagInitialize
VOID __stdcall PerfDiagInitialize(){
unsigned __int64 RegHandle;
int OutBuffer[4];
RegHandle = 0i64;
*(&ExBootDevicesRemovedEvent + 456) = 0i64;
*(&ExBootDevicesRemovedEvent + 914) = 0;
EtwRegister(
(_LPCGUID)&MS_Kernel_BootDiagnostics_SystemProxy_Provider,
(PETWENABLECALLBACK)PerfDiagpBootSystemProxyCallback,
0i64,
(PREGHANDLE)&ExBootDevicesRemovedEvent + 452);
EtwRegister(
(_LPCGUID)&MS_Kernel_BootDiagnostics_UserProxy_Provider,
(PETWENABLECALLBACK)PerfDiagpBootUserProxyCallback,
0i64,
(PREGHANDLE)&ExBootDevicesRemovedEvent + 453);
EtwRegister(
(_LPCGUID)&MS_Kernel_SecondaryLogonDiagnostics_Proxy_Provider,
(PETWENABLECALLBACK)PerfDiagpSecondaryLogonProxyCallback,
0i64,
(PREGHANDLE)&ExBootDevicesRemovedEvent + 454);
EtwRegister(
(_LPCGUID)&MS_Kernel_ShutdownDiagnostics_Proxy_Provider,
(PETWENABLECALLBACK)PerfDiagpShutdownProxyCallback,
0i64,
(PREGHANDLE)&ExBootDevicesRemovedEvent + 455);
if( (int)EtwRegister((_LPCGUID)&MS_Kernel_BootDiagnostics_Provider, 0i64, 0i64, &RegHandle) >= 0 )
{
OutBuffer[0] = 1729382729;
OutBuffer[1] = 1213813042;
OutBuffer[2] = 933705344;
OutBuffer[3] = -668649292;
EtwWriteStartScenario(RegHandle, &KMBootEvt_SystemBoot_Start, OutBuffer, 0, 0i64);
EtwUnregister(RegHandle);
}
}Referenced by:
EtwpInitialize