Partager via


IAMStreamConfig ::GetFormat, 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 GetFormat méthode récupère le format de sortie actuel ou préféré.

Syntaxe

HRESULT GetFormat(
  [out] AM_MEDIA_TYPE **ppmt
);

Paramètres

[out] ppmt

Adresse d’un pointeur vers une structure AM_MEDIA_TYPE .

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_NOT_CONNECTED
La broche d’entrée n’est pas connectée.

Remarques

Si la broche est connectée, cette méthode retourne le format utilisé actuellement par la broche. Sinon, la méthode retourne le format préféré de la broche pour la connexion de broche suivante. Si vous avez déjà appelé la méthode IAMStreamConfig ::SetFormat pour définir le format, GetFormat retourne le même format. Si ce n’est pas le cas, il retourne le premier format de la liste des formats préférés de l’épingle, tel que déterminé par la méthode IPin ::EnumMediaTypes .

La méthode alloue la mémoire pour la structure AM_MEDIA_TYPE , remplit la structure et la retourne dans le paramètre pmt . L’appelant doit libérer la mémoire, y compris le bloc de format. Vous pouvez utiliser la fonction d’assistance DeleteMediaType dans la bibliothèque de classes de base.

Sur certains filtres de compression, la méthode échoue si la broche d’entrée du filtre n’est pas connectée.

Exemples

C++
IAMStreamConfig *pConfig = NULL;
// Query the output pin for IAMStreamConfig (not shown).
AM_MEDIA_TYPE *pmt = NULL;
hr = pConfig->GetFormat(&pmt);
if (SUCCEEDED(hr))
{
    /* Examine the media type for any information you need. */
    DeleteMediaType(pmt);
}
pConfig->Release();

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