FsRtlAddLargeMcbEntry 函数 (ntifs.h)

FsRtlAddLargeMcbEntry 例程将新映射添加到现有映射控制块 (MCB) 。

语法

BOOLEAN FsRtlAddLargeMcbEntry(
  PLARGE_MCB Mcb,
  LONGLONG   Vbn,
  LONGLONG   Lbn,
  LONGLONG   SectorCount
);

参数

Mcb

指向已初始化 MCB 结构的指针。

Vbn

开始虚拟块编号 (要添加到 MCB 的新映射运行的 VBN) 。

Lbn

要映射到 LargeVbn 的逻辑块编号 (LBN) 。

SectorCount

新映射运行中的扇区数。

返回值

如果新映射已成功添加到 MCB,则 FsRtlAddLargeMcbEntry 返回 TRUE;否则返回 FALSE

注解

FsRtlAddLargeMcbEntry 将新映射添加到现有映射控制块 (MCB) 。 文件系统使用 MCB 结构将文件的虚拟块编号 (VBN) 映射到磁盘上 LBN) (相应的逻辑块编号。

注意 LBN 的 32 位将被忽略,但必须将其设置为零。 仅使用较低的 32 位。
 
如果要添加的新映射运行与现有映射运行重叠, FsRtlAddLargeMcbEntry 会将它们合并到单个映射运行中。

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

若要初始化 MCB,请调用 FsRtlInitializeLargeMcb。 若要取消初始化 MCB,请调用 FsRtlUninitializeLargeMcb

要求

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

另请参阅

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb