PopDiagTraceThermalZoneThrottleDurationPerfTrack
VOID __stdcall PopDiagTraceThermalZoneThrottleDurationPerfTrack(UINT64 Duration, _DEVICE_OBJECT *DeviceObject){
_DEVICE_OBJECT *DeviceAttachmentBaseRefWithTag;
_DEVICE_OBJECT *v4;
_WORD *DeviceNode;
int v6;
__int16 v7;
_EVENT_DATA_DESCRIPTOR UserData;
__int16 *v9;
__int64 v10;
__int64 v11;
int v12;
int v13;
int v14;
v14 = Duration;
v7 = 0;
if( PopDiagHandleRegistered && EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_THERMAL_DURATION_PERFTRACK) )
{
DeviceAttachmentBaseRefWithTag = IoGetDeviceAttachmentBaseRefWithTag(DeviceObject, 0x67446F50ui64);
v4 = DeviceAttachmentBaseRefWithTag;
if( DeviceAttachmentBaseRefWithTag )
DeviceNode = DeviceAttachmentBaseRefWithTag->DeviceObjectExtension->DeviceNode;
else
DeviceNode = 0i64;
if( DeviceNode )
{
v6 = DeviceNode[64] >> 1;
UserData.Ptr = (unsigned __int64)&v14;
v7 = v6;
v9 = &v7;
*(_QWORD *)&UserData.Size = 4i64;
v10 = 2i64;
v11 = *((_QWORD *)DeviceNode + 17);
v12 = 2 * v6;
v13 = 0;
EtwWrite(PopDiagHandle, &POP_ETW_EVENT_THERMAL_DURATION_PERFTRACK, 0, 3u, &UserData);
}
if( v4 )
ObfDereferenceObjectWithTag(v4, 0x67446F50ui64);
}
}Referenced by:
PopThermalWorker