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 |