FsRtlAllocateExtraCreateParameter 関数 (ntifs.h)
FsRtlAllocateExtraCreateParameter ルーチンは、追加の create パラメーター (ECP) コンテキスト構造体のメモリを割り当て、その構造体へのポインターを生成します。
構文
NTSTATUS FsRtlAllocateExtraCreateParameter(
[in] LPCGUID EcpType,
[in] ULONG SizeOfContext,
[in] FSRTL_ALLOCATE_ECP_FLAGS Flags,
[in, optional] PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK CleanupCallback,
[in] ULONG PoolTag,
[out] PVOID *EcpContext
);
パラメーター
[in] EcpType
ECP コンテキスト構造の型を示す GUID へのポインター。 詳細については、「ドライバー での GUID の使用
[in] SizeOfContext
コンテキスト構造のサイズ (バイト単位)。
[in] Flags
プールの割り当てオプションを定義します。 次に示す 1 つ以上のフラグ値をビットごとの OR 演算を使用して Flags パラメーターと組み合わせた場合にプールを割り当てる方法について説明します。
FSRTL_ALLOCATE_ECP_FLAG_NONPAGED_POOL - ページ以外のプールが割り当てられます。 このフラグ値を使用しない場合は、ページ プールが割り当てられます。
FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA - FsRtlAllocateExtraCreateParameter によって割り当てられたすべてのプールは、現在のプロセスのメモリ クォータに対して課金されます。
複数のフラグを使用すると、使用されるフラグ値に関連付けられているすべての効果が発生します。
[in, optional] CleanupCallback
PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK型のフィルター定義クリーンアップ コールバック ルーチンへの省略可能なポインター。 クリーンアップ コールバック ルーチンは、(FsRtlAllocateExtraCreateParameter ルーチンによって作成された) ECP 構造体が削除されたときに呼び出されます。 クリーンアップ コールバック ルーチンが適用できない場合は、このパラメーターを NULL を
[in] PoolTag
割り当てられたメモリのプール タグを指定します。 詳細については、ExAllocatePoolWithTagの
[out] EcpContext
割り当てられた ECP コンテキスト構造体へのポインターを受け取ります。 ルーチンが十分なプールを割り当てられなかった場合、
戻り値
FltAllocateExtraCreateParameter
リターン コード | 形容 |
---|---|
STATUS_INSUFFICIENT_RESOURCES |
FsRtlAllocateExtraCreateParameter は、ECP 構造体に十分なメモリを割り当てませんでした。 この場合、 |
STATUS_SUCCESS | ECP 構造体が正常に割り当てられました。 この場合、割り当てられた構造体へのポインターが、EcpContext パラメーターで返されます。 |
備考
既定では、FsRtlAllocateExtraCreateParameter ルーチンは、ECP コンテキスト構造体のページング されたメモリ プールを割り当てます。 Flags パラメーターの説明に従ってFSRTL_ALLOCATE_ECP_FLAG_NONPAGED_POOLビットマスクが使用されている場合は、ページングされていないメモリ プールが割り当てられます。 このプールが割り当てられ、ECP コンテキスト構造が初期化されると、FltInsertExtraCreateParameter ルーチンを使用して、ECP コンテキスト構造 (ECP リスト要素) を ECP リスト構造 (ECP_LIST) に挿入します。
呼び出し元がECP_LISTを割り当て、IoCreateFileExの呼び出しで 1 つ以上の ECP
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | FsRtlAllocateExtraCreateParameter ルーチンは、Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
関連項目
FltAllocateExtraCreateParameterFromLookasideList の
FltAllocateExtraCreateParameterList の
FltCreateFileEx2 を
FltFreeExtraCreateParameter を
FltFreeExtraCreateParameterList を
FltGetEcpListFromCallbackData の
FltInsertExtraCreateParameter の
FltRemoveExtraCreateParameter の
FltSetEcpListIntoCallbackData の
IoCreateFileEx の