PopDiagTraceCsDripsWatchdogPerfTrack
VOID __stdcall PopDiagTraceCsDripsWatchdogPerfTrack(
UINT64 ResiliencyPhaseNoActivatorsNoDripsMs,
UINT64 NonActivatedCpuTimeMs,
UINT64 DurationThisPeriodMs,
UINT64 OnAc,
UINT64 EnergyDrain,
UINT8 DeviceConstraint,
UINT8 ActionsTaken){
int v7;
int v8;
int v9;
int v10;
__int16 v11;
int v12;
__int64 v13;
$9809CEAD2DA957FAEE8580DC38A49918 *v14;
int *v15;
int v16[3];
int v17;
_EVENT_DATA_DESCRIPTOR UserData;
v17 = 0;
v7 = OnAc;
v8 = DurationThisPeriodMs;
v9 = NonActivatedCpuTimeMs;
v10 = ResiliencyPhaseNoActivatorsNoDripsMs;
if( PopDiagHandleRegistered && EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_CS_DRIPS_WATCHDOG_PERFTRACK) )
{
v16[0] = v10;
v16[1] = v9;
v16[2] = v8;
if( DeviceConstraint )
v11 = (v7 != 0) | 0x200;
else
v11 = v7 != 0;
v12 = 0xFFFF;
v13 = 4i64;
if( (unsigned int)EnergyDrain <= 0xFFFF )
v12 = EnergyDrain;
v14 = &UserData.12;
v17 = v11 & 0x201 | (2 * ActionsTaken) & 0x3FF | (4 * (ActionsTaken & 0x100 | (v12 << 14)));
v15 = v16;
do
{
v14->Reserved = 0;
*(_QWORD *)&v14[-3].Reserved = v15++;
v14[-1].Reserved = 4;
v14 += 4;
--v13;
}
while( v13 );
EtwWriteEx(PopDiagHandle, &POP_ETW_EVENT_CS_DRIPS_WATCHDOG_PERFTRACK, 0i64, 0, 0, 0, 4u, &UserData);
}
}Referenced by:
PopDripsWatchdogTakeAction