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 |
|
Biblioteca |
|