FsRtlLookupLargeMcbEntry 函数 (ntifs.h)

给定虚拟块号(VBN)和地图控制块(MCB),FsRtlLookupLargeMcbEntry 例程搜索 MCB 以获取对应于指定 VBN 的映射信息。

语法

BOOLEAN FsRtlLookupLargeMcbEntry(
                  PLARGE_MCB Mcb,
                  LONGLONG   Vbn,
                  PLONGLONG  Lbn,
                  PLONGLONG  SectorCountFromLbn,
                  PLONGLONG  StartingLbn,
                  PLONGLONG  SectorCountFromStartingLbn,
  [out, optional] PULONG     Index
);

参数

Mcb

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

Vbn

指向请求的 VBN 的指针。

Lbn

指向接收映射到映射条目中 LargeVbn 的 LBN 的变量的指针,或者 -1 不存在此类 LBN。 此参数是可选的,可以是 NULL。

SectorCountFromLbn

指向一个变量,该变量接收映射运行中 LargeVbn 后面的扇区数。 此参数是可选的,可以是 NULL。

StartingLbn

指向接收对应于映射运行开始的 LBN 的变量的指针,或 -1(如果不存在此类 LBN)。 此参数是可选的,可以是 NULL。

SectorCountFromStartingLbn

指向接收映射运行中扇区数的变量的指针。 此参数是可选的,可以是 NULL。

[out, optional] Index

指向接收包含 VBN 的映射运行的索引的变量的指针。 此参数是可选的,可以是 NULL。

返回值

FsRtlLookupLargeMcbEntry 如果指定的 VBN 位于 MCB 映射的 VBN 范围内,则返回 TRUE;否则为 FALSE。

言论

FsRtlLookupLargeMcbEntry 搜索运行包含指定 VBN 的 MCB 中的映射条目。

  • 如果存在此类映射,则查找作将为相应的 LBN 和扇区计数生成正值,FsRtlLookupLargeMcbEntry 返回 TRUE。

  • 如果不存在此类映射,但指定的 VBN 低于 MCB 映射的最高 VBN,则称为映射中的一个洞。 在这种情况下,FsRtlLookupLargeMcbEntry 仍返回 TRUE,但查找作将为 LBN 生成 -1 值。

  • 如果指定的 VBN 高于 MCB 映射的最高 VBN,或者 MCB 不包含映射,FsRtlLookupLargeMcbEntry 返回 FALSE。

忽略 LBN 的上 32 位。 仅使用较低的 32 位。

要求

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

另请参阅

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb