次の方法で共有


FsRtlInitializeLargeMcb 関数 (ntifs.h)

FsRtlInitializeLargeMcb ルーチンは、マップ制御ブロック (MCB) 構造体を初期化します。

構文

void FsRtlInitializeLargeMcb(
       PLARGE_MCB Mcb,
  [in] POOL_TYPE  PoolType
);

パラメーター

Mcb

初期化する呼び出し元によって割り当てられた MCB 構造体へのポインター。

[in] PoolType

MCB に追加の内部記憶域を割り当てるときに使用するプールの種類。 次のいずれか:

  • NonPagedPool
  • PagedPool
  • NonPagedPoolCacheAligned
  • PagedPoolCacheAligned

NonPagedPoolMustSucceed および NonPagedPoolCacheAlignedMustS プールの種類は古く、使用しないでください。

戻り値

なし

解説

FsRtlInitializeLargeMcb は、マップ制御ブロック (MCB) 構造体を初期化します。 ファイル・システムは MCB 構造体を使用して、ファイルの仮想ブロック番号 (VBN) をディスク上の対応する論理ブロック番号 (LBN) にマップします。

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

ファイル システムでは、MCB 構造体で他の FsRtlXxxMcbYyy ルーチンを使用する前に、FsRtlInitializeLargeMcb を呼び出す必要があります。

プール割り当てエラーが発生した場合、 FsRtlInitializeLargeMcb は STATUS_INSUFFICIENT_RESOURCES例外を発生させます。 このプール割り当てエラーが発生したかどうかを制御するには、ドライバーは FsRtlInitializeLargeMcb への呼び出しを try-except ステートメントまたは try-finally ステートメントでラップする必要があります。

要件

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

こちらもご覧ください

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb