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
上下文的类型。 此参数是必需的,必须是以下值之一:
从 Windows Vista) 开始FLT_FILE_CONTEXT (
FLT_INSTANCE_CONTEXT
FLT_STREAM_CONTEXT
FLT_STREAMHANDLE_CONTEXT
从 Windows 8) 开始FLT_SECTION_CONTEXT (
从 Windows Vista) 开始FLT_TRANSACTION_CONTEXT (
FLT_VOLUME_CONTEXT
返回值
如果没有足够的可用池来满足请求,此例程将返回 NULL 指针。 否则,它将返回指向新分配的上下文的指针。
注解
对于微筛选器驱动程序必须执行其自己的上下文分配的极少数情况,它可以在从其 DriverEntry 例程调用 FltRegisterFilter 时为其注册的每个上下文类型指定PFLT_CONTEXT_ALLOCATE_CALLBACK类型的例程作为 ContextAllocateCallback 例程。 若要指定此例程,微筛选器驱动程序会将指向该例程的指针存储在上下文类型的 FLT_CONTEXT_REGISTRATION 结构的 ContextAllocateCallback 成员中。
有关上下文注册的详细信息,请参阅 FLT_CONTEXT_REGISTRATION的参考条目。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | fltkernel.h (包括 Fltkernel.h) |
IRQL | <=APC_LEVEL |