DeleteMediaType-Funktion
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Die DeleteMediaType-Funktion löscht eine zugeordnete AM_MEDIA_TYPE-Struktur , einschließlich des Formatblocks.
Syntax
void WINAPI DeleteMediaType(
AM_MEDIA_TYPE *pmt
);
Parameter
-
Pmt
-
Ein Zeiger auf eine AM_MEDIA_TYPE-Struktur .
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Verwenden Sie diese Funktion, um jede Medientypstruktur freizugeben, die entweder mit CoTaskMemAlloc oder CreateMediaType zugeordnet wurde.
Diese Funktion ist in der DirectShow-Basisklassenbibliothek definiert. Wenn Sie keine Verknüpfung mit der Basisklassenbibliothek herstellen möchten, 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;
}
}
// Delete a media type structure that was allocated on the heap.
void _DeleteMediaType(AM_MEDIA_TYPE *pmt)
{
if (pmt != NULL)
{
_FreeMediaType(*pmt);
CoTaskMemFree(pmt);
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|