TtmNotifyDeviceDeparture

VOID __stdcall TtmNotifyDeviceDeparture(){
  INT64 v0; 
  unsigned int v1; 
  unsigned int v2; 
  INT64 v3; 
  CHAR DeviceByToken; 
  int v5; 
  int v6; 
  __int64 v7; 
  INT64 a1; 
  __int64 a4; 
  a1 = 0i64;
  v2 = v1;
  a4 = 0i64;
  v3 = v0;
  DeviceByToken = 0;
  v5 = TtmiAcquireCurrentSession(&a1);
  if( v5 >= 0 )
  {
    DeviceByToken = TtmpFindDeviceByToken(a1, v2, v3, &a4);
    if( DeviceByToken )
    {
      v6 = *(_DWORD *)(a4 + 600);
      if( (v6 & 4) == 0 )
      {
        v7 = a1;
        *(_DWORD *)(a4 + 600) = v6 | 4;
        TtmiScheduleSessionWorker(v7, 1);
      }
    }
    ExReleaseResourceLite(&TtmpSessionLock);
    KeLeaveCriticalRegion();
  }
  else
  {
    TtmiLogError((PSTR)"TtmNotifyDeviceDeparture", 624i64, (unsigned int)v5, (unsigned int)v5);
  }
  TtmiLogDeviceDepartureNotified(v2, v3, DeviceByToken);
}

Referenced by:

No references.