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 |