PopGetPowerSettingValue
__int64 __fastcall PopGetPowerSettingValue(
_QWORD *a1,
__int64 a2,
signed int a3,
void *a4,
__int64 a5,
unsigned int *a6){
LIST_ENTRY *PowerSettingConfiguration;
unsigned int v10;
__int64 v11;
unsigned int v12;
ExAcquireFastMutex(&PopSettingLock);
if( (unsigned int)a3 > 1 )
a3 = dword_140C23D0C;
PowerSettingConfiguration = PopFindPowerSettingConfiguration((GUID *)a1, 0xFFFFFFFFi64);
v10 = 0;
if( PowerSettingConfiguration && (v11 = *((_QWORD *)&PowerSettingConfiguration[4].Flink + a3)) != 0 )
{
v12 = *(_DWORD *)(v11 + 4);
*a6 = v12;
if( v12 > 4 )
v10 = -1073741306;
else
memmove((UINT8 *)a4, (UINT8 *)(*((_QWORD *)&PowerSettingConfiguration[4].Flink + a3) + 12i64), v12);
}
else
{
v10 = -1073741811;
}
KeReleaseGuardedMutex(&PopSettingLock);
return v10;
}Referenced by:
PopBatteryUpdateAlarms
PopCaptureSleepStudyStatistics
PopEsInStandbyEvaluate
PopScanIdleList