次の方法で共有


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

戻り値

指定した VBN が MCB によってマップされる VBN の範囲内にある場合、FsRtlLookupLargeMcbEntry は TRUE を返します。それ以外の場合は FALSE を返します。

注釈

FsRtlLookupLargeMcbEntry は、実行に指定された VBN が含まれる MCB 内のマッピング エントリを検索します。

  • このようなマッピングが存在する場合、ルックアップ操作は対応する LBN とセクター数に正の値を生成し、 FsRtlLookupLargeMcbEntry は TRUE を返します。

  • そのようなマッピングが存在しないが、指定された VBN が MCB によってマップされた最も高い VBN より低い場合、これはマッピングの穴と呼ばれます。 この場合、 FsRtlLookupLargeMcbEntry は引き続き TRUE を返しますが、検索操作では LBN に対して -1 の値が生成されます。

  • 指定した VBN が MCB によってマップされた最も高い VBN より高い場合、または MCB にマッピングが含まれない場合、 FsRtlLookupLargeMcbEntry は FALSE を返します。

LBN の上位 32 ビットは無視されます。 下位 32 ビットのみが使用されます。

要件

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

こちらもご覧ください

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlInitializeLargeMcb

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb