PFLT_CONTEXT_ALLOCATE_CALLBACK コールバック関数 (fltkernel.h)
ミニフィルター ドライバーは、ミニフィルター ドライバーの ContextAllocateCallback ルーチンとしてPFLT_CONTEXT_ALLOCATE_CALLBACK型のルーチンを登録できます。
構文
PFLT_CONTEXT_ALLOCATE_CALLBACK PfltContextAllocateCallback;
PVOID PfltContextAllocateCallback(
[in] POOL_TYPE PoolType,
[in] SIZE_T Size,
[in] FLT_CONTEXT_TYPE ContextType
)
{...}
パラメーター
[in] PoolType
割り当てるプールの種類。 このパラメーターは必須であり、次のいずれかである必要があります。
NonPagedPool
PagedPool
ContextType パラメーターがFLT_VOLUME_CONTEXT場合は、NonPagedPool にする必要があります。
[in] Size
フィルター マネージャーによって定義された部分とミニフィルター ドライバーによって定義された部分の両方を含む、コンテキスト全体のサイズ (バイト単位)。
[in] ContextType
コンテキストの種類。 このパラメーターは必須であり、次のいずれかの値である必要があります。
FLT_FILE_CONTEXT (Windows Vista 以降)
FLT_INSTANCE_CONTEXT
FLT_STREAM_CONTEXT
FLT_STREAMHANDLE_CONTEXT
FLT_SECTION_CONTEXT (Windows 8 以降)
FLT_TRANSACTION_CONTEXT (Windows Vista 以降)
FLT_VOLUME_CONTEXT
戻り値
要求を満たすのに十分な空きプールがない場合、このルーチンは NULL ポインターを返します。 それ以外の場合は、新しく割り当てられたコンテキストへのポインターを返します。
注釈
ミニフィルター ドライバーが独自のコンテキスト割り当てを実行する必要があるまれなケースでは、DriverEntry ルーチンから FltRegisterFilter を呼び出すときに登録するコンテキストの種類ごとに ContextAllocateCallback ルーチンとしてPFLT_CONTEXT_ALLOCATE_CALLBACK型のルーチンを指定できます。 このルーチンを指定するために、ミニフィルター ドライバーは、コンテキストの種類のFLT_CONTEXT_REGISTRATION構造体の ContextAllocateCallback メンバーにルーチンへのポインターを格納します。
コンテキスト登録の詳細については、 FLT_CONTEXT_REGISTRATIONのリファレンス エントリを参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | fltkernel.h (Fltkernel.h を含む) |
IRQL | <=APC_LEVEL |