Дескрипторы AVStream

Минидрайвер AVStream описывает себя и типы фильтров, которые он поддерживает, предоставляя вложенные структуры дескриптора в вызове KsInitializeDriver. Каждый ключевой компонент — устройство, фабрика фильтров и фабрика пинов — имеет связанный описатель.

Как показано в иерархии объектов AVStream, дескриптор самого высокого уровня для минидрайвера AVStream является дескриптором устройства KSDEVICE_DESCRIPTOR.

В дескрипторе устройства член FilterDescriptors указывает на массив KSFILTER_DESCRIPTOR структур, описывающих типы фильтров, которые могут создавать устройства. Клиенты AVStream могут вызывать KsCreateFilterFactory для динамического добавления фабрик фильтров.

KSFILTER_DESCRIPTOR указывает, сколько типов выводов поддерживает фильтр, категории KS, в которых должен быть зарегистрирован фильтр, и топологию фильтра. В каждом дескрипторе фильтра минидрайвер предоставляет указатель на массив структур KSPIN_DESCRIPTOR_EX. Каждый из этих дескрипторов пинов описывает тип пина, который этот фильтр может инициализировать. Вы можете создать дополнительные фабрики пинов, вызвав KsFilterCreatePinFactory.

Как правило, минидрайверы AVStream раскладывают статические дескрипторные таблицы в своих исходных текстах и вызывают KsInitializeDriver для выполнения работы по настройке. Дополнительные сведения об инициализации вашего драйвера см. в разделе Инициализация минидрайвера AVStream.

Существуют и другие типы дескрипторов, например дескриптор узла KSNODE_DESCRIPTOR, описывающий данный узел топологии.

Таблица диспетчеризации является общей для каждого из трех основных типов дескрипторов. См. таблицы диспетчеризации AVStream.