TtmpDispatchSetDefaultDeviceAssignment

INT64 __fastcall TtmpDispatchSetDefaultDeviceAssignment(INT64 a1){
  int v2; 
  __int64 v3; 
  unsigned int v4; 
  bool v5; 
  __int64 v7; 
  PADAPTER_OBJECT DmaAdapter; 
  v7 = 0i64;
  DmaAdapter = 0i64;
  v2 = TtmpAcquireSessionFromTerminalHandle(*(VOID **)(a1 + 8), 1, 0, &v7, (INT64 *)&DmaAdapter);
  v3 = v7;
  v4 = v2;
  if( v2 >= 0 )
  {
    v5 = *(_BYTE *)(a1 + 16) != 0;
    *(_DWORD *)(v7 + 4) = *(_DWORD *)(v7 + 4) & 0xFFFFF7FF | (v5 << 11);
    TtmiLogSessionDeviceAssignmentPolicySet(v5);
    v4 = 0;
  }
  else
  {
    TtmiLogError((PSTR)"TtmpDispatchSetDefaultDeviceAssignment", 707i64, (unsigned int)v2, (unsigned int)v2);
  }
  if( v3 )
  {
    ExReleaseResourceLite(&TtmpSessionLock);
    KeLeaveCriticalRegion();
  }
  if( DmaAdapter )
    HalPutDmaAdapter(DmaAdapter);
  return v4;
}

Referenced by:

TtmDispatchApi