次の方法で共有


FsRtlGetNextLargeMcbEntry 関数 (ntifs.h)

FsRtlGetNextLargeMcbEntry ルーチンは、マップ制御ブロック (MCB) からマッピング実行を取得します。

構文

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

パラメーター

Mcb

初期化された MCB 構造体へのポインター。

[in] RunIndex

要求されたマッピング実行の 0 から始まるインデックス。

Vbn

マッピング実行の開始仮想ブロック番号 (VBN) を受け取る変数へのポインター。実行が存在しない場合は 0。 FsRtlGetNextLargeMcbEntryFALSE を返す場合、その値は意味がありません。

Lbn

マッピング実行の開始論理ブロック番号 (LBN) を受け取る変数へのポインター。実行が存在しない場合は 0。 FsRtlGetNextLargeMcbEntryFALSE を返す場合、その値は意味がありません。

SectorCount

マッピング実行でセクター数を受け取る変数へのポインター。実行が存在しない場合は 0。 FsRtlGetNextLargeMcbEntryFALSE を返す場合、その値は意味がありません。

戻り値

要求されたマッピング実行が MCB に存在する場合、FsRtlGetNextLargeMcbEntryTRUE を返し、それ以外の場合は FALSE を返します。

注釈

FsRtlGetNextLargeMcbEntry は、MCB で実行されるマッピングの開始 VBN、開始 LBN、セクター数を取得します。

メモ LBN の上位 32 ビットは無視されます。 下位 32 ビットのみが使用されます。
 
穴は実行としてカウントされます。

次のコード スニペットは、ファイル内のすべての実行を出力する方法を示しています。

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

    // print out vbn, lbn, and count

}

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL

こちらもご覧ください

FsRtlAddLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb