FsRtlRemoveLargeMcbEntry 函数 (ntifs.h)

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

语法

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

参数

Mcb

指向 MCB 结构的指针。

Vbn

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

SectorCount

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

返回值

没有

言论

FsRtlRemoveLargeMcbEntry 删除 MCB 中 VB 到 LBN 的所有映射,这些映射以 *LargeVbn 开头,以 (*LargeVbn + LargeSectorCount - 1 结尾)。

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

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

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

要求

要求 价值
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb