Partager via


Méthode CBasePin.AgreeMediaType

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La AgreeMediaType méthode recherche un type de média pour établir une connexion d’épingle.

Syntaxe

virtual HRESULT AgreeMediaType(
         IPin       *pReceivePin,
   const CMediaType *pmt
);

Paramètres

pReceivePin

Pointeur vers l’interface IPin de l’épingle de réception.

Pmt

Pointeur vers un objet CMediaType qui spécifie un type de média, ou NULL.

Valeur renvoyée

Retourne une valeur HRESULT . Les valeurs possibles incluent celles du tableau suivant.

Code de retour Description
S_OK
Opération réussie.
VFW_E_NO_ACCEPTABLE_TYPES
Aucun type de média acceptable n’a été trouvé.

Notes

Si le paramètre pmt n’est pas NULL et spécifie entièrement un type de média, cette méthode tente une connexion à l’aide de ce type de média. Si la tentative échoue, la méthode retourne une erreur.

Si le paramètre pmt a la valeur NULL ou spécifie un type de média partiel, cette méthode tente les types de média dans l’ordre suivant :

  1. Types de média préférés de l’épingle de réception.
  2. Les types de média préférés de cette broche.

Les types de médias préférés sont énumérés avec la méthode CBasePin::EnumMediaTypes , et l’énumérateur résultant est passé à la méthode CBasePin::TryMediaTypes .

Configuration requise

Condition requise Valeur
En-tête
Amfilter.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CBasePin, classe