Utilisation d’AVStream avec le module proxy de streaming du noyau
Les filtres en mode noyau sont souvent connectés en mode utilisateur via le proxy de streaming de noyau. Ce proxy fait apparaître un filtre en mode noyau pour le mode utilisateur en tant que filtre DirectShow.
Lorsque ce mode de connexion est utilisé, DirectShow connecte les filtres en croisant leurs types de médias. Ces types de médias sont l’équivalent directShow des formats de données en mode noyau.
Lorsque DirectShow énumère un type de média sur une broche en mode noyau, la plage de données correspondante sur la broche est croisée avec la plage de données de la broche. Cette intersection génère un format de données, comme décrit dans Intersections de plage de données dans AVStream. Le proxy convertit le format de données résultant en un type de média DirectShow.
Comme en mode noyau, le proxy demande à un gestionnaire de données de déterminer si le type de média est acceptable ou s’il correspond partiellement à une plage de données sur l’épingle. Une correspondance partielle indique que, dans le contexte de la sémantique en mode noyau, le type principal, le sous-format, le spécificateur et les attributs requis correspondent. Si le type de média est une correspondance partielle, la connexion continue.
Avant la fin de la connexion, AVStream appelle le répartiteur AVStrMiniPinSetDataFormat du minidriver pour informer le minidriver du format de données en cours de définition. Ce format correspond au type de média en mode utilisateur qui a été suggéré à l’épingle proxiée. AVStream fournit également la plage de données qui a été déterminée comme une correspondance partielle pour le format.