次の方法で共有


FsRtlLookupLargeMcbEntry 関数 (ntifs.h)

仮想ブロック番号 (VBN) とマップ制御ブロック (MCB) が指定された場合、FsRtlLookupLargeMcbEntry ルーチンは、指定された VBN に対応するマッピング情報を MCB で検索します。

構文

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 にすることができます。

戻り値

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 (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

関連項目

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb