DeleteMediaType-Funktion

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.

Hinweise

Verwenden Sie diese Funktion, um jede Medientypstruktur freizugeben, die entweder mit CoTaskMemAlloc oder CreateMediaTypezugeordnet wurde.

Diese Funktion ist in der DirectShow-Basisklassenbibliothek definiert. Wenn Sie keine Verknüpfung mit der Basisklassenbibliothek verwenden 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
Mtype.h (include Streams.h)
Bibliothek
Strmbase.lib (Verkaufsbuilds);
Strmbasd.lib (Debugbuilds)

Weitere Informationen

FreeMediaType

Medientypfunktionen