FsRtlRemoveLargeMcbEntry 函数 (ntifs.h)

FsRtlRemoveLargeMcbEntry 例程从地图控制块中删除一个或多个映射, (MCB) 。

语法

void FsRtlRemoveLargeMcbEntry(
  PLARGE_MCB Mcb,
  LONGLONG   Vbn,
  LONGLONG   SectorCount
);

参数

Mcb

指向 MCB 结构的指针。

Vbn

开始虚拟块号 (要从 MCB 中删除映射的范围的 VBN) 。

SectorCount

要删除映射的范围中) (VLAN 的扇区数。

返回值

备注

FsRtlRemoveLargeMcbEntry 删除了 MCB 中 VBN 到 LBN 的所有映射,这些映射属于以 *LargeVbn 开头且以 (*LargeVbn + LargeSectorCount - 1) 结束的 VBN 范围。

注意 忽略 LBN 的 32 位。 仅使用较低的 32 位。
 
将忽略映射之间的孔 (间隙) 。

如果要移除的 VBN 范围包括 MCB 中映射的最高 VBN,则相应地调整 MCB 的 PairCount 成员。

如果池分配失败, FsRtlRemoveLargeMcbEntry 将引发STATUS_INSUFFICIENT_RESOURCES异常。 若要控制是否发生此池分配失败,驱动程序应在 try-excepttry-finally 语句中包装对 FsRtlRemoveLargeMcbEntry 的调用。

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb