Compartilhar via


Função FreeMediaType

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

A função FreeMediaType exclui o bloco de formato em uma estrutura AM_MEDIA_TYPE .

Sintaxe

void FreeMediaType(
   AM_MEDIA_TYPE &mt
);

Parâmetros

mt [ref]

Uma referência a uma estrutura de AM_MEDIA_TYPE .

Retornar valor

Essa função não retorna um valor.

Comentários

O bloco de formato é alocado no heap. O membro pbFormat do AM_MEDIA_TYPE aponta para o bloco de formato. Use essa função para liberar apenas o bloco de formato. Para excluir uma estrutura de AM_MEDIA_TYPE alocada, chame DeleteMediaType.

Essa função é definida na biblioteca de Classes Base do DirectShow . Se preferir não vincular à biblioteca de classes base, você poderá usar o seguinte código:

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

Requisitos

Requisito Valor
parâmetro
Mtype.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Deletemediatype

Funções de tipo de mídia