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 |
|
Bibliothèque |
|