PopDiagTraceFxDevicePowerRequirement
VOID __stdcall PopDiagTraceFxDevicePowerRequirement(VOID *Token, UINT8 NotificationFromPep, UINT8 PowerRequired){
int v3;
INT64 v4;
const _EVENT_DESCRIPTOR *v5;
CHAR v6;
REGHANDLE v7;
int v8;
VOID *v9;
_EVENT_DATA_DESCRIPTOR UserData;
int *v11;
int v12;
int v13;
v3 = PowerRequired;
v9 = Token;
v4 = PowerRequired;
if( NotificationFromPep == 1 )
{
v5 = &POP_ETW_EVENT_DEVICE_POWER_REQUIREMENT_FROM_PEP;
v6 = 4;
}
else
{
v5 = (const _EVENT_DESCRIPTOR *)POP_ETW_EVENT_DEVICE_POWER_REQUIREMENT_TO_DEVICE;
v6 = 5;
}
PopFxAddLogEntry((INT64)Token, 0, v6, v4);
if( PopDiagHandleRegistered )
{
v7 = PopDiagHandle;
if( EtwEventEnabled(PopDiagHandle, v5) )
{
UserData.Reserved = 0;
v13 = 0;
UserData.Ptr = (unsigned __int64)&v9;
v8 = v3;
v11 = &v8;
UserData.Size = 8;
v12 = 4;
EtwWriteEx(v7, v5, 0i64, 1u, 0, 0, 2u, &UserData);
}
}
}Referenced by:
PopFxDeliverDevicePowerRequired
PopFxIdleTimeoutDpcRoutine
PopFxProcessWork
PopFxUpdateDeviceIdleTimer