FreeMediaType-Funktion
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die FreeMediaType-Funktion löscht den Formatblock in einer AM_MEDIA_TYPE-Struktur .
Syntax
void FreeMediaType(
AM_MEDIA_TYPE &mt
);
Parameter
-
mt [ref]
-
Ein Verweis auf eine AM_MEDIA_TYPE-Struktur .
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Der Formatblock wird auf dem Heap zugeordnet. Das pbFormat-Element des AM_MEDIA_TYPE verweist auf den Formatblock. Verwenden Sie diese Funktion, um nur den Formatblock frei zu geben. Um eine zugeordnete AM_MEDIA_TYPE-Struktur zu löschen, rufen Sie DeleteMediaType auf.
Diese Funktion ist in der DirectShow-Basisklassenbibliothek definiert. Wenn Sie es vorziehen, keine Verknüpfung mit der Basisklassenbibliothek zu erstellen, können Sie den folgenden Code verwenden:
// 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;
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|