PopThermalTelemetryWorker
VOID __stdcall PopThermalTelemetryWorker(VOID *Context){
_ETHREAD *CurrentThread;
INT64 i;
INT64 v3;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--CurrentThread->Tcb.KernelApcDisable;
ExAcquirePushLockSharedEx((_EX_PUSH_LOCK *)&PopPolicyDeviceLock, 0i64);
for( i = *(&stru_140C23628 + 181); (_UNKNOWN *)i != (_UNKNOWN *)((char *)&stru_140C23628 + 1448); i = *(_QWORD *)i )
{
PopAcquireRwLockExclusive((_POP_RW_LOCK *)(i + 432));
if( *(_BYTE *)(i + 145) )
{
PopThermalUpdatePassiveTimeTracking();
PopTraceThermalZonePassiveHistogram((_POP_THERMAL_ZONE *)i);
}
if( *(_BYTE *)(i + 505) )
{
LOBYTE(v3) = *(_BYTE *)(i + 69);
PopThermalUpdateActiveTimeTracking(i + 504, v3);
PopTraceThermalZoneActiveActivity(i);
}
PopReleaseRwLock((_POP_RW_LOCK *)(i + 432));
}
PopReleaseRwLock((_POP_RW_LOCK *)&PopPolicyDeviceLock);
PopCoolingTelemetryWorker();
_InterlockedExchange(&dword_140C22D28, 0);
}Referenced by:
No references.