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.