PopRundownThermalRequests
VOID __stdcall PopRundownThermalRequests(){
_POP_COOLING_EXTENSION *i;
_LIST_ENTRY *j;
PopAcquireRwLockExclusive(&PopCoolingExtensionLock);
for( i = PopCoolingExtensionList;
i != (_POP_COOLING_EXTENSION *)&PopCoolingExtensionList;
i = (_POP_COOLING_EXTENSION *)i->Link.Flink )
{
if( i->Enabled )
{
PopAcquireRwLockExclusive(&i->Lock);
PopDiagTraceCoolingExtension(i, (_EVENT_DESCRIPTOR *)&POP_ETW_EVENT_COOLING_EXTENSION_RUNDOWN);
for( j = i->RequestListHead.Flink; j != &i->RequestListHead; j = j->Flink )
{
if( BYTE2(j[1].Flink) )
PopDiagTraceThermalRequest(j, POP_ETW_EVENT_THERMAL_REQUEST_RUNDOWN);
}
PopReleaseRwLock((UINT64)&i->Lock);
}
}
PopReleaseRwLock((UINT64)&PopCoolingExtensionLock);
}Referenced by:
PopDiagTraceControlCallback