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 的变量的指针;如果不存在此类 LBN,则为 -1。 此参数是可选的,可以为 NULL。

SectorCountFromLbn

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

StartingLbn

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

SectorCountFromStartingLbn

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

[out, optional] Index

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

返回值

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

注解

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

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

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

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

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

要求

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

另请参阅

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb