ObIsDosDeviceLocallyMapped

NTSTATUS __stdcall ObIsDosDeviceLocallyMapped(UINT64 DriveIndex, UINT8 *LocallyMapped){
  __int64 v2; 
  _ESERVERSILO_GLOBALS *CurrentServerSiloGlobals; 
  _ETHREAD *CurrentThread; 
  _ESERVERSILO_GLOBALS *v6; 

  v2 = (unsigned int)(DriveIndex - 1);
  if( (unsigned int)v2 > 0x19 )
    return -1073741811;
  CurrentServerSiloGlobals = PsGetCurrentServerSiloGlobals((_KSPIN_LOCK *)DriveIndex);
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v6 = CurrentServerSiloGlobals;
  --CurrentThread->Tcb.SpecialApcDisable;
  ExAcquirePushLockSharedEx(&CurrentServerSiloGlobals->ObSiloState.DeviceMapLock, 0i64);
  *LocallyMapped = v6->ObSiloState.SystemDosDeviceState.LocalDeviceCount[v2] != 0;
  ExReleasePushLockEx((_DWORD)v6 + 120, 0);
  KiLeaveGuardedRegionUnsafe((__int64)KeGetCurrentThread());
  return 0;
}

Referenced by:

No references.