Partager via


FreeMediaType, fonction

[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 fonction FreeMediaType supprime le bloc de format dans une structure AM_MEDIA_TYPE .

Syntaxe

void FreeMediaType(
   AM_MEDIA_TYPE &mt
);

Paramètres

mt [ref]

Référence à une structure AM_MEDIA_TYPE .

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Notes

Le bloc de format est alloué sur le tas. Le membre pbFormat du AM_MEDIA_TYPE pointe vers le bloc de format. Utilisez cette fonction pour libérer uniquement le bloc de format. Pour supprimer une structure de AM_MEDIA_TYPE allouée, appelez DeleteMediaType.

Cette fonction est définie dans la bibliothèque Classes de base DirectShow . Si vous préférez ne pas créer de lien vers la bibliothèque de classes de base, vous pouvez utiliser le code suivant :

// Release the format block for a media type.

void _FreeMediaType(AM_MEDIA_TYPE& mt)
{
    if (mt.cbFormat != 0)
    {
        CoTaskMemFree((PVOID)mt.pbFormat);
        mt.cbFormat = 0;
        mt.pbFormat = NULL;
    }
    if (mt.pUnk != NULL)
    {
        // pUnk should not be used.
        mt.pUnk->Release();
        mt.pUnk = NULL;
    }
}

Configuration requise

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

Voir aussi

DeleteMediaType

Fonctions de type de média