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,则其值毫无意义。

返回值

FsRtlGetNextLargeMcbEntry 如果 MCB 中存在请求的映射运行,则返回 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 (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

FsRtlAddLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb