PopAdaptivePowerSettingCallback
NTSTATUS __stdcall PopAdaptivePowerSettingCallback(
const _GUID *SettingGuid,
UINT64 *NewValue,
UINT64 ValueLength,
PVOID Context){
NTSTATUS v6;
bool v7;
UINT64 v8;
UINT64 v9;
UINT64 v10;
__int64 v11;
UINT64 v12;
int v13;
UINT64 v15;
UINT64 v16;
if( (_DWORD)ValueLength != 4 )
return -1073741811;
v6 = 0;
if( !NewValue )
return -1073741811;
v7 = PopConsoleSession != 0;
PopAcquireAdaptiveLock(PopConsoleSession == 0);
v11 = *(_QWORD *)&SettingGuid->Data1;
v12 = *(_QWORD *)&GUID_NON_ADAPTIVE_INPUT_TIMEOUT.Data1 - *(_QWORD *)&SettingGuid->Data1;
if( *(_QWORD *)&GUID_NON_ADAPTIVE_INPUT_TIMEOUT.Data1 == *(_QWORD *)&SettingGuid->Data1 )
v12 = *(_QWORD *)GUID_NON_ADAPTIVE_INPUT_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
if( !v12 )
{
v13 = *(_DWORD *)NewValue;
LODWORD(PopInputTimeout) = *(_DWORD *)NewValue;
if( v7 )
{
BYTE3(qword_140C203B0) = 1;
DWORD2(PopLazyContext) = v13;
if( !v13 )
PopInputDisabled((unsigned int)PopConsoleContext, 0, 1u);
}
goto LABEL_14;
}
v12 = *(_QWORD *)&GUID_VIDEO_POWERDOWN_TIMEOUT.Data1 - v11;
if( *(_QWORD *)&GUID_VIDEO_POWERDOWN_TIMEOUT.Data1 == v11 )
v12 = *(_QWORD *)GUID_VIDEO_POWERDOWN_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
if( !v12 )
{
PopDisplayTimeout = *(_DWORD *)NewValue;
LABEL_14:
PopDiagTracePolicyChange(v12, v8, v9, v10, v15, v16);
if( v7 )
PopCheckConsoleTimeouts();
goto LABEL_16;
}
v12 = *(_QWORD *)&GUID_VIDEO_CONSOLE_LOCK_TIMEOUT.Data1 - v11;
if( *(_QWORD *)&GUID_VIDEO_CONSOLE_LOCK_TIMEOUT.Data1 == v11 )
v12 = *(_QWORD *)GUID_VIDEO_CONSOLE_LOCK_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
if( !v12 )
{
PopAdaptiveLockConsoleTimeout = *(_DWORD *)NewValue;
goto LABEL_14;
}
v6 = -1073741811;
LABEL_16:
PopReleaseAdaptiveLock();
return v6;
}Referenced by:
PopVideoPowerSettingCallback