Partager via


Interface IKsInterfaceHandler (ksproxy.h)

L’interface IKsInterfaceHandler fournit des méthodes qui marshalent des exemples dans le noyau en fonction de la structure KSPIN_INTERFACE spécifiée pour la connexion établie. L’IID de cette interface est IID_IKsInterfaceHandler.

Héritage

L’interface IKsInterfaceHandler hérite de l’interface IUnknown.

Méthode

L’interface IKsInterfaceHandler a ces méthodes.

 
IKsInterfaceHandler ::KsCompleteIo

La méthode KsCompleteIo nettoie les en-têtes étendus et libère des exemples multimédias une fois l’entrée et la sortie terminées.
IKsInterfaceHandler ::KsProcessMediaSamples

La méthode KsProcessMediaSamples traite les exemples multimédias.
IKsInterfaceHandler ::KsSetPin

La méthode KsSetPin informe le gestionnaire d’interface de diffusion en continu sur la broche avec laquelle communiquer lors du passage de données.

Remarques

Pour que le proxy reste neutre en ce qui concerne l’interface utilisée pour diffuser des données, les gestionnaires d’interface sont chargés pour traduire des échantillons multimédias DirectShow vers et à partir d’un pilote au niveau du noyau. Un gestionnaire d’interface implémente les méthodes de l’interface IKsInterfaceHandler pour effectuer le prétraitement et le posttraitement sur tous les exemples multimédias et signaler l’achèvement de l’entrée et de la sortie (E/S).

Chaque gestionnaire d’interface peut marshaler des exemples multimédias à l’aide de sa propre méthode. Le gestionnaire d’interface standard implémenté par le proxy KS utilise IOCTL_KS_WRITE_STREAM pour l’opération de réception et IOCTL_KS_READ_STREAM pour l’opération d’envoi, mais un gestionnaire d’interface personnalisé peut utiliser une autre méthode.

Lorsqu’une broche est connectée, le proxy utilise le GUID dans le Définir membre de la structure KSPIN_INTERFACE pour déterminer le gestionnaire d’interface à charger. Le gestionnaire d’interface est inscrit en tant que serveur COM sous cette classe GUID. Le gestionnaire d’interface doit gérer toutes les variantes de l’interface au sein du jeu d’interfaces. Les broches de pont ne sont pas censées diffuser en continu des données et les gestionnaires d’interface ne sont pas chargés pour eux.

Sur une demande de création de gestionnaire d’interface via CoCreateInstance, le serveur est toujours présenté un externe IUnknown avec lequel créer l’objet COM. Cette IUnknown est une interface sur l’objet pin qui charge ce gestionnaire d’interface. Le pointeur d’interface IUnknown peut être utilisé pour interroger des informations ou des interfaces, telles que l’interface IKsControl, à partir de la broche, bien que la broche en mode noyau n’ait pas été créée au moment du chargement du gestionnaire d’interface. Aucune référence ne doit être laissée sur l’objet externe par l’acquisition d’interfaces, car elle entraîne un nombre de références circulaires. L’utilisation des interfaces sans nombre de références est acceptable, car l’objet externe possède le gestionnaire et, par définition, est détruit lorsque le nombre de références de l’objet externe atteint zéro.

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête ksproxy.h

Voir aussi

CoCreateInstance

IKsControl

KSPIN_INTERFACE