次の方法で共有


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例外が発生します。 このプール割り当てエラーが発生したかどうかを制御するには、ドライバーは、try-except または try-finally ステートメントで fsRtlInitializeLargeMcb の呼び出し ラップする必要があります。

必要条件

要件 価値
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

関連項目

FsRtlAddLargeMcbEntry

FsRtlGetNextLargeMcbEntry

FsRtlLookupLargeMcbEntry

FsRtlLookupLastLargeMcbEntry

FsRtlLookupLastLargeMcbEntryAndIndex

FsRtlNumberOfRunsInLargeMcb

FsRtlRemoveLargeMcbEntry

FsRtlSplitLargeMcb

FsRtlTruncateLargeMcb

FsRtlUninitializeLargeMcb