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-except 或 try-finally 语句中包装对 FsRtlRemoveLargeMcbEntry 的调用。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | ntifs.h (包括 Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |