Partager via


IAMStreamConfig ::SetFormat, méthode (strmif.h)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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 SetFormat méthode définit le format de sortie sur la broche.

Syntaxe

HRESULT SetFormat(
  [in] AM_MEDIA_TYPE *pmt
);

Paramètres

[in] pmt

Pointeur vers une structure AM_MEDIA_TYPE qui spécifie le nouveau format.

Valeur retournée

Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.

Code de retour Description
S_OK
Réussite.
E_OUTOFMEMORY
Mémoire insuffisante.
E_POINTER
Valeur du pointeur NULL.
VFW_E_INVALIDMEDIATYPE
Ce type de média n’est pas valide.
VFW_E_NOT_CONNECTED
La broche d’entrée n’est pas connectée.
VFW_E_NOT_STOPPED
Impossible de définir le type ; le filtre n’est pas arrêté.
VFW_E_WRONG_STATE
Impossible de définir le type ; le filtre n’est pas arrêté.

Remarques

Cette méthode spécifie le format de la broche de sortie. Si la broche n’est pas connectée, elle utilise ce format pour sa prochaine connexion. Si le code pin est déjà connecté, il tente de se reconnecter avec ce format. La méthode peut échouer si l’autre broche rejette le nouveau type.

Si cette méthode réussit, les appels suivants à la méthode IPin ::EnumMediaTypes retournent le nouveau type, et aucun autre.

Sur la plupart des filtres, cette méthode échoue si le filtre est suspendu ou en cours d’exécution. Sur certains filtres de compression, la méthode échoue si la broche d’entrée du filtre n’est pas connectée.

Avec certains filtres, vous pouvez appeler cette méthode avec la valeur NULL pour réinitialiser le format par défaut de l’épingle.

Développeurs de filtres : les remarques suivantes décrivent comment implémenter cette méthode :

Si la broche de sortie n’est pas connectée et que la broche prend en charge le type de média spécifié, retournez S_OK. Stockez le type de média et proposez-le comme numéro de format zéro dans la méthode CBasePin ::GetMediaType . Ne proposez pas d’autres formats et refusez d’autres formats dans la méthode CBasePin ::CheckMediaType .

Si la broche est déjà connectée et que la broche prend en charge le type de média, reconnectez-la avec ce type. Si l’autre broche rejette le nouveau type, retournez VFW_E_INVALIDMEDIATYPE et restaurez la connexion d’origine.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

IAMStreamConfig Interface