TtmpDispatchEvacuateDevices

INT64 __fastcall TtmpDispatchEvacuateDevices(INT64 a1){
  VOID *v1; 
  int v2; 
  unsigned int v3; 
  INT64 v5; 
  PADAPTER_OBJECT DmaAdapter; 
  v1 = *(VOID **)(a1 + 8);
  v5 = 0i64;
  DmaAdapter = 0i64;
  v2 = TtmpAcquireSessionFromTerminalHandle(v1, 0, 1, &v5, (INT64 *)&DmaAdapter);
  v3 = v2;
  if( v2 >= 0 )
  {
    if( TtmiEvacuateDevices(v5, (INT64)DmaAdapter) )
      TtmiScheduleSessionWorker(v5, 1);
    v3 = 0;
  }
  else
  {
    TtmiLogError((PSTR)"TtmpDispatchEvacuateDevices", 615i64, (unsigned int)v2, (unsigned int)v2);
  }
  if( v5 )
  {
    ExReleaseResourceLite(&TtmpSessionLock);
    KeLeaveCriticalRegion();
  }
  if( DmaAdapter )
    HalPutDmaAdapter(DmaAdapter);
  return v3;
}

Referenced by:

TtmDispatchApi