KSFILTER 结构 (ks.h)

KSFILTER 结构描述实例化的筛选器。

语法

typedef struct _KSFILTER {
  const KSFILTER_DESCRIPTOR *Descriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTER, *PKSFILTER;

成员

Descriptor

指向描述此特定筛选器特征 的 KSFILTER_DESCRIPTOR 结构的指针。

Bag

此成员指定与此筛选器实例关联的类型 PVOID) 等效KSOBJECT_BAG (。 对象包 是用于将动态内存与特定 AVStream 对象关联的结构。 删除筛选器时,将自动清理筛选器对象包中的任何内容。

Context

客户端用来将上下文信息与特定筛选器实例关联的指针。 通常,此类上下文信息与此筛选器实例的 KSFILTER_DISPATCH 表中定义的 筛选器的 Create 成员相关联。 任何动态分配的上下文信息都应放置在具有 KsAddItemToObjectBag 的对象包中。 创建筛选器时,Context 初始化为父 KSFILTERFACTORYContext 成员的值。 请参阅 AVStream 对象层次结构

注解

实现软件筛选器的驱动程序通常将筛选器状态与 KSFILTER 结构相关联。 软件筛选器通常在相应KSFILTER_DISPATCH结构的 Process 成员指定的回调内处理数据。

硬件筛选器通常不使用 KSFILTER,因为硬件驱动程序的重点是平台转换:主机与外部硬件之间的数据移动。 此转换通常由与 AVStream 队列对象关联的代码处理。

另请参阅 对象包

要求

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

另请参阅

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest