TtmpPushTerminalState

UINT8 __stdcall TtmpPushTerminalState(_TTMI_SESSION *LockedSession, _TTMI_DEVICE_ENTRY *Device){
  UINT64 v2; 
  UINT8 v3; 
  NTSTATUS TerminalById; 
  _TTMI_TERMINAL *v7; 
  INT64 v8; 
  _WIN32K_INPUT_MODE v9; 
  _TTMI_TERMINAL *v11; 

  v2 = (unsigned int)Device[149];
  v3 = 0;
  v11 = 0i64;
  if( (_DWORD)v2 != -1 )
  {
    TerminalById = TtmiGetTerminalById(&v11, LockedSession, v2);
    if( TerminalById >= 0 )
    {
      v7 = v11;
      v8 = (unsigned int)v11[69];
      if( (LockedSession[1] & 8) != 0 || (unsigned int)(v8 - 2) > 1 )
      {
        TtmpQueueTerminalDisplayStateOntoDevice((INT64)LockedSession, (INT64)Device, v8);
        v9 = v7[12];
        if( v9 == PowerInputFiltered && *((char *)Device + 600) >= 0 )
          v9 = PowerInputSuppressed;
        if( *((_QWORD *)Device + 8) )
          TtmpCallSetInputMode(LockedSession, Device, v9);
      }
      else
      {
        return 1;
      }
    }
    else
    {
      TtmiLogError((INT8 *)"TtmpPushTerminalState", 0xC67ui64, (unsigned int)TerminalById, 0xFFFFFFFFi64);
    }
  }
  return v3;
}

Referenced by:

TtmiSessionDeviceListWorker