KSFILTERFACTORY 结构 (ks.h)

KSFILTERFACTORY 结构表示筛选器工厂。

语法

typedef struct _KSFILTERFACTORY {
  const KSFILTER_DESCRIPTOR *FilterDescriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTERFACTORY, *PKSFILTERFACTORY;

成员

FilterDescriptor

指向描述此工厂创建的筛选器特征 的KSFILTER_DESCRIPTOR 结构的指针。

Bag

此成员指定与此筛选器工厂关联的 PVOID 类型) 等效KSOBJECT_BAG (。 对象包是用于将动态内存与特定 AVStream 对象关联的结构。 删除筛选器工厂时,将自动清理筛选器工厂对象包中的任何内容。 有关详细信息,请参阅 有关对象包 的概念部分。

Context

指向内存地址的指针,客户端可以使用该指针将上下文信息与筛选器工厂相关联。 AVStream 不会以任何方式使用此成员。 请注意,与筛选器工厂关联的任何动态内存都应放置在具有 KsAddItemToObjectBag 的对象包中。 创建工厂时,Context 初始化为父 KSDEVICEContext 成员的值。 请参阅 AVStream 对象层次结构

注解

筛选器工厂显式表示设备实例化给定类型的筛选器的能力,如筛选器描述符所述。

硬件驱动程序通常使用此结构来管理作为筛选器类型公开的硬件的特定功能。 软件筛选器通常不需要在此级别管理设备。

筛选器工厂对象通过两种方式创建。 可以在 AddDevice 处理期间创建它们,如设备描述符的筛选器描述符列表所示。 客户端还可以在调用 KsCreateFilterFactory 时显式创建它们。 客户端可能随时创建筛选器工厂,但通常在处理 PnP 启动 IRP 期间完成,对分配的资源的评估指示设备必须公开哪些类型的筛选器。

出于同步目的,隐式创建的筛选器工厂的生存期定义为从客户端的设备创建调度函数 (开始的时间间隔,或者) 调用,并在客户端的设备 PnP remove 调度函数 (或) 调用后结束。 通过调用 KsCreateFilterFactory 显式创建的筛选器工厂的生存期在调用返回后立即开始。

另请参阅 对象包

要求

要求
最低受支持的客户端 在 Microsoft Windows XP 及更高版本的操作系统以及 Microsoft DirectX 8.0 及更高版本中可用。
标头 ks.h (包括 Ks.h)

另请参阅

KSFILTER_DESCRIPTOR

KsAddItemToObjectBag

KsCreateFilterFactory