PFLT_CONTEXT_ALLOCATE_CALLBACK回调函数 (fltkernel.h)

微型筛选器驱动程序可以将类型为 PFLT_CONTEXT_ALLOCATE_CALLBACK 的例程注册为微型筛选器驱动程序的 ContextAllocateCallback 例程。

语法

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 指针。 否则,它将返回指向新分配的上下文的指针。

言论

对于微型筛选器驱动程序必须执行自己的上下文分配的罕见情况,它可以将类型PFLT_CONTEXT_ALLOCATE_CALLBACK的例程指定为 ContextAllocateCallback 例程,当它从其 DriverEntry 例程调用 FltRegisterFilter 时注册的每个上下文类型。 若要指定此例程,微型筛选器驱动程序会将指向该例程的指针存储在上下文类型的FLT_CONTEXT_REGISTRATION结构的 ContextAllocateCallback 成员中。

有关上下文注册的详细信息,请参阅 FLT_CONTEXT_REGISTRATION的参考条目。

要求

要求 价值
目标平台 桌面
标头 fltkernel.h (包括 Fltkernel.h)
IRQL <=APC_LEVEL

另请参阅

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK