Структура KSFILTER (ks.h)

Структура KSFILTER описывает фильтр с экземпляром.

Синтаксис

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

Члены

Descriptor

Указатель на структуру KSFILTER_DESCRIPTOR , описывающую характеристики конкретного фильтра.

Bag

Этот член задает KSOBJECT_BAG (эквивалентный типу PVOID), связанный с данным экземпляром фильтра. Контейнеры объектов — это структуры, используемые для связывания динамической памяти с определенным объектом AVStream. Все элементы в контейнере объектов фильтра автоматически очищаются при удалении фильтра.

Context

Указатель, используемый клиентом для связывания контекстных сведений с конкретным экземпляром фильтра. Как правило, такие сведения о контексте связываются с элементом Create фильтра, как определено в таблице KSFILTER_DISPATCH для этого экземпляра фильтра. Все динамически выделенные сведения о контексте должны быть помещены в контейнер объектов с помощью KsAddItemToObjectBag. Контекст инициализируется значением члена Context родительского объекта KSFILTERFACTORY во время создания фильтра. См. раздел Иерархия объектов AVStream.

Комментарии

Драйверы, реализующие программные фильтры, обычно связывают состояние фильтра со структурой KSFILTER. Программные фильтры обычно обрабатывают данные в рамках обратного вызова, заданного элементом Process соответствующей структуры KSFILTER_DISPATCH .

Фильтры оборудования обычно не используют KSFILTER, так как основное внимание в драйвере оборудования уделяется переходу платформы: перемещению данных между узлом и внешним оборудованием. Этот переход обычно обрабатывается кодом, связанным с объектом очереди AVStream.

См. также раздел Контейнеры объектов.

Требования

Требование Значение
Минимальная версия клиента Доступно в операционных системах Microsoft Windows XP и более поздних версий, а также в Microsoft DirectX 8.0 и более поздних версиях.
Верхняя часть ks.h (включая Ks.h)

См. также раздел

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest