Поделиться через


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

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

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

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

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

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

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

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