FsRtlGetNextLargeMcbEntry 函数 (ntifs.h)

FsRtlGetNextLargeMcbEntry 例程从映射控制块 (MCB) 检索映射运行。

语法

BOOLEAN FsRtlGetNextLargeMcbEntry(
       PLARGE_MCB Mcb,
  [in] ULONG      RunIndex,
       PLONGLONG  Vbn,
       PLONGLONG  Lbn,
       PLONGLONG  SectorCount
);

参数

Mcb

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

[in] RunIndex

所请求的映射运行的从零开始的索引。

Vbn

指向一个变量的指针,该变量接收映射运行的起始虚拟块编号 (VBN) ;如果运行不存在,则为零。 如果 FsRtlGetNextLargeMcbEntry 返回 FALSE,则其值毫无意义。

Lbn

指向一个变量的指针,该变量接收映射运行的起始逻辑块编号 (LBN) ;如果运行不存在,则为零。 如果 FsRtlGetNextLargeMcbEntry 返回 FALSE,则其值毫无意义。

SectorCount

指向在映射运行中接收扇区数的变量的指针;如果运行不存在,则为零。 如果 FsRtlGetNextLargeMcbEntry 返回 FALSE,则其值毫无意义。

返回值

如果请求的映射运行存在于 MCB 中,则 FsRtlGetNextLargeMcbEntry 返回 TRUE,否则返回 FALSE

注解

FsRtlGetNextLargeMcbEntry 检索 MCB 中映射运行的起始 VBN、起始 LBN 和扇区计数。

注意 忽略 LBN 的 32 位。 仅使用较低的 32 位。
 
孔算作运行。

以下代码片段演示如何输出文件中的所有运行:

for (i = 0; FsRtlGetNextLargeMcbEntry(Mcb,i,&Vbn,&Lbn,&Count); i++) {

    // print out vbn, lbn, and count

}

要求

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

另请参阅

FsRtlAddLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb