TtmpTerminal0PowerSettingCallback
NTSTATUS __stdcall TtmpTerminal0PowerSettingCallback(
_GUID *SettingGuid,
VOID *Value,
UINT64 ValueLength,
VOID *Context){
_ETHREAD *CurrentThread;
int v6;
__int64 v9;
UINT64 v10;
UINT64 v11;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v6 = ValueLength;
--CurrentThread->Tcb.KernelApcDisable;
ExAcquireResourceExclusiveLite((UINT64)&TtmpSessionLock, 1, ValueLength);
if( v6 == 4 && *((_BYTE *)Context + 240) && (*((_DWORD *)Context + 1) & 4) == 0 )
{
v9 = *(_QWORD *)&SettingGuid->Data1 - *(_QWORD *)&GUID_VIDEO_DIM_TIMEOUT.Data1;
v10 = *(unsigned int *)Value;
if( *(_QWORD *)&SettingGuid->Data1 == *(_QWORD *)&GUID_VIDEO_DIM_TIMEOUT.Data1 )
v9 = *(_QWORD *)SettingGuid->Data4 - *(_QWORD *)GUID_VIDEO_DIM_TIMEOUT.Data4;
if( v9 )
{
*((_DWORD *)Context + 67) = v10;
v11 = (unsigned int)v10;
v10 = *((unsigned int *)Context + 66);
}
else
{
v11 = *((unsigned int *)Context + 67);
*((_DWORD *)Context + 66) = v10;
}
TtmiTerminalSetDisplayTimeouts((_TTMI_SESSION *)Context, *((_TTMI_TERMINAL **)Context + 4), v10, v11);
}
ExReleaseResourceLite(&TtmpSessionLock);
KeLeaveCriticalRegion();
return 0;
}Referenced by:
No references.