// ntifs.h
VOID FsRtlRemoveLargeMcbEntry(
PLARGE_MCB Mcb,
LONGLONG Vbn,
LONGLONG SectorCount
);
View the official Windows Driver Kit DDI referenceNo description available.
The FsRtlRemoveLargeMcbEntry routine removes one or more mappings from a map control block (MCB).
McbPointer to the MCB structure.
VbnStarting virtual block number (VBN) of the range for which mappings are to be removed from the MCB.
SectorCountNumber of sectors (VBNs) in the range for which mappings are to be removed.
FsRtlRemoveLargeMcbEntry removes all mappings of VBNs to LBNs in the MCB that fall within the range of VBNs that begins with LargeVbn* and ends with (LargeVbn* + LargeSectorCount - 1).
Note The upper 32 bits of the LBN are ignored. Only the lower 32 bits are used.
Holes (gaps) between mappings are ignored.
If the range of VBNs to be removed includes the highest mapped VBN in the MCB, the MCB's PairCount member is adjusted accordingly.
If a pool allocation failure occurs, FsRtlRemoveLargeMcbEntry raises a STATUS_INSUFFICIENT_RESOURCES exception. To gain control if this pool allocation failure occurs, the driver should wrap the call to FsRtlRemoveLargeMcbEntry in a try-except or try-finally statement.
FsRtlLookupLastLargeMcbEntryAndIndex