PopThermalPollingPowerSettingCallback
INT64 __stdcall PopThermalPollingPowerSettingCallback(){
char v0;
_ETHREAD *CurrentThread;
PVOID *i;
void *v4;
void *v5;
void *v6;
PopAcquireRwLockExclusive(&PopThermalLock);
v0 = !PopPdcIdleResiliency || dword_140C23D0C != 1;
if( PopThermalPollingMode && PopThermalPollingWakesAllowed != v0 )
{
PopThermalPollingWakesAllowed = v0;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--*((_WORD *)CurrentThread + 242);
ExAcquirePushLockSharedEx((UINT64)&PopPolicyDeviceLock, 0i64);
for( i = (PVOID *)PopThermal; i != &PopThermal; i = (PVOID *)*i )
{
PopAcquireRwLockExclusive((_POP_RW_LOCK *)i + 27);
if( *((_DWORD *)i + 58) || (*((_BYTE *)i + 65) & 1) != 0 && *((_DWORD *)i + 26) )
IoCancelIrp((KDPC *)i[7], v4, v5, v6);
PopReleaseRwLock((UINT64)(i + 54));
}
PopReleaseRwLock((UINT64)&PopPolicyDeviceLock);
}
PopReleaseRwLock((UINT64)&PopThermalLock);
return 0i64;
}Referenced by:
No references.