Funzione FreeMediaType

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

La funzione FreeMediaType elimina il blocco di formato in una struttura AM_MEDIA_TYPE .

Sintassi

void FreeMediaType(
   AM_MEDIA_TYPE &mt
);

Parametri

mt [ref]

Riferimento a una struttura AM_MEDIA_TYPE .

Valore restituito

Questa funzione non restituisce un valore.

Commenti

Il blocco di formato viene allocato nell'heap. Il membro pbFormat del AM_MEDIA_TYPE punta al blocco di formato. Usare questa funzione per liberare solo il blocco di formato. Per eliminare una struttura AM_MEDIA_TYPE allocata, chiamare DeleteMediaType.

Questa funzione è definita nella libreria Classi di base DirectShow . Se si preferisce non collegarsi alla libreria di classi di base, è possibile usare il codice seguente:

// 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;
    }
}

Requisiti

Requisito Valore
Intestazione
Mtype.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

DeleteMediaType

Funzioni del tipo di supporto