TtmpTerminal0PowerSettingCallback
VOID __fastcall TtmpTerminal0PowerSettingCallback(INT64 a1, INT64 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6){
_ETHREAD *CurrentThread;
int v8;
__int64 v11;
UINT64 v12;
UINT64 v13;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v8 = a3;
--*((_WORD *)CurrentThread + 242);
ExAcquireResourceExclusiveLite(&TtmpSessionLock, 1u);
if( v8 == 4 && *(_BYTE *)(a4 + 240) && (*(_DWORD *)(a4 + 4) & 4) == 0 )
{
v11 = *(_QWORD *)a1 - *(_QWORD *)&GUID_VIDEO_DIM_TIMEOUT.Data1;
v12 = *(unsigned int *)a2;
if( *(_QWORD *)a1 == *(_QWORD *)&GUID_VIDEO_DIM_TIMEOUT.Data1 )
v11 = *(_QWORD *)(a1 + 8) - *(_QWORD *)GUID_VIDEO_DIM_TIMEOUT.Data4;
if( v11 )
{
*(_DWORD *)(a4 + 268) = v12;
v13 = (unsigned int)v12;
v12 = *(unsigned int *)(a4 + 264);
}
else
{
v13 = *(unsigned int *)(a4 + 268);
*(_DWORD *)(a4 + 264) = v12;
}
TtmiTerminalSetDisplayTimeouts((UINT64 *)a4, *(_QWORD *)(a4 + 32), v12, v13);
}
ExReleaseResourceLite(&TtmpSessionLock);
KeLeaveCriticalRegion();
}Referenced by:
No references.