PopThermalUpdateActiveTimeTracking
NTSTATUS __stdcall PopThermalUpdateActiveTimeTracking(INT64 a1, INT64 a2){
__int64 v2;
__int64 v3;
NTSTATUS result;
if( !*(_BYTE *)a1 )
{
a2 = (unsigned __int8)a2;
v2 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
v3 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart - *(_QWORD *)(a1 + 16);
while( 1 )
{
result = *(unsigned __int8 *)(a1 + 1);
if( (unsigned int)a2 >= result )
break;
*(_QWORD *)(a1 + 8 * a2 + 360) += v3;
a2 = (unsigned int)(a2 + 1);
}
*(_QWORD *)(a1 + 520) += v3;
*(_QWORD *)(a1 + 16) = v2;
}
return result;
}Referenced by:
PoSetThermalActiveCooling
PopCoolingSxTransition
PopCoolingTelemetryWorker
PopDeactiveThermalRequest
PopOrphanCoolingExtension
PopThermalSxEntry
PopThermalTelemetryWorker
PopThermalWorker
PopThermalZoneRemove