Descripteurs AVStream

Un minipilote AVStream décrit lui-même et les types de filtres qu’il prend en charge en fournissant des structures de descripteur imbriquées dans l’appel à KsInitializeDriver. Chaque composant clé (l’appareil, la fabrique de filtreset la fabrique de code confidentiel ) est associé à un descripteur.

Comme indiqué dans la hiérarchie d’objets AVStream, le descripteur de niveau le plus élevé pour un minipilote AVStream est le descripteur de l’appareil, KSDEVICE_DESCRIPTOR.

Dans le descripteur de l’appareil, le membre FilterDescriptors pointe vers un tableau de structures KSFILTER_DESCRIPTOR qui décrivent les types de filtres que ce périphérique peut créer. Les clients AVStream peuvent appeler KsCreateFilterFactory pour ajouter dynamiquement des fabriques de filtres.

Une KSFILTER_DESCRIPTOR indique le nombre de types de codes confidentiels pris en charge par le filtre, les catégories KS sous lesquelles le filtre doit être inscrit et la topologie du filtre. À l’intérieur de chaque descripteur de filtre, le minipilote fournit un pointeur vers un tableau de structures KSPIN_DESCRIPTOR_EX . Chacun de ces descripteurs de code confidentiel décrit un type de code confidentiel que ce filtre peut instancier. Vous pouvez créer des fabriques de codes confidentiels supplémentaires en appelant KsFilterCreatePinFactory.

En règle générale, AVStream minipilotes présente les tables de descripteurs statiques dans leur source et appelle KsInitializeDriver pour effectuer le travail d’installation. Pour plus d’informations sur l’initialisation de votre pilote, consultez initialisation d’unminipilote AVStream.

Il existe également d’autres types de descripteurs, tels que le descripteur de nœud KSNODE_DESCRIPTOR, qui décrit un nœud de topologie donné.

La table de dispatch est commune à chacun des trois types de descripteurs principaux. Consultez tables de dispatch AVStream.