FsRtlAllocateExtraCreateParameterList 関数 (ntifs.h)
FsRtlAllocateExtraCreateParameterList ルーチンは、ECP_LIST 構造体のページ プール メモリを割り当て、その構造体へのポインターを生成します。
構文
NTSTATUS FsRtlAllocateExtraCreateParameterList(
[in] FSRTL_ALLOCATE_ECPLIST_FLAGS Flags,
[out] PECP_LIST *EcpList
);
パラメーター
[in] Flags
プールの割り当てオプションを定義します。 ビットごとの OR 操作を使用して FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA フラグを Flags パラメーターと組み合わせると、FsRtlAllocateExtraCreateParameterList によって割り当てられたプールは、現在のプロセスのメモリ クォータに対して課金されます。
[out] EcpList
初期化された ECP リスト構造体へのポインターを受け取ります。 FsRtlAllocateExtraCreateParameterList 十分なプールの割り当てに失敗した場合、*EcpList は NULL になり、FsRtlAllocateExtraCreateParameterList は状態コードSTATUS_INSUFFICIENT_RESOURCESを返します。
戻り値
FsRtlAllocateExtraCreateParameterList は、次のいずれかの値を返すことができます。
リターン コード | 形容 |
---|---|
STATUS_INSUFFICIENT_RESOURCES | FsRtlAllocateExtraCreateParameterList は、ECP リスト構造に十分なメモリを割り当てませんでした。 この場合、*EcpList は NULL になります。 |
STATUS_SUCCESS | ECP_LIST 構造体のメモリが正常に割り当てられ、初期化されました。 この場合、初期化されたリスト構造体へのポインターが、EcpList パラメーターで返されます。 |
備考
FsRtlAllocateExtraCreateParameterList が割り当てる
呼び出し元は、FsRtlAllocateExtraCreateParameterList を呼び出して、ECP_LISTを割り当て、呼び出し元が IoCreateFileEx ルーチンを呼び出す前に 1 つ以上の ECP コンテキスト構造を追加できます。 この状況では、オペレーティング システムは ECP コンテキスト構造を解放しません。 そのため、呼び出し元は、同じ ECP セット IoCreateFileEx に対して複数の呼び出しを行うことができます。 呼び出し元がECP_LISTで完了したら、呼び出し元は、ECP_LISTを解放するために、FltFreeExtraCreateParameter ルーチンを呼び出す必要があります。
ファイル システムまたはファイル システム フィルター ドライバーが
要求を処理している間、ファイル システムまたはファイル システム フィルター ドライバーは FltInsertExtraCreateParameterIRP_MJ_CREATE 呼び出して、ECP を既存のECP_LISTにアタッチできます。 ECP_LISTが存在しない場合、呼び出し元 FsRtlAllocateExtraCreateParameterList を呼び出して、ECP_LISTを作成する必要があります。 このような状況では、作成操作が完了すると、ECP_LISTと ECP コンテキスト構造が I/O マネージャーによって自動的にクリーンアップされます。 これにより、ファイル システムまたはフィルター ドライバーの ECP を再解析ポイントの処理全体に適切に伝達できます。 このプロセスでは、複数のIRP_MJ_CREATE要求を生成する必要がある場合があります。
FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA フラグを Flags パラメーターと共に使用すると、ページング可能なプールが割り当てられます。 それ以外の場合、ページング可能なプールは内部ルックアサイド リストを使用して割り当てられます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
関連項目
FltAllocateExtraCreateParameter の
FltAllocateExtraCreateParameterFromLookasideList の
FltCreateFileEx2 の
FltFreeExtraCreateParameter の
FltFreeExtraCreateParameterList を
FltGetEcpListFromCallbackData の
FltInsertExtraCreateParameter を
FltRemoveExtraCreateParameter を
FltSetEcpListIntoCallbackData の
IoCreateFileEx の