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.