次の方法で共有


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

こちらもご覧ください

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK