Função DeleteMediaType
[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 DeleteMediaType exclui uma estrutura de AM_MEDIA_TYPE alocada, incluindo o bloco de formato.
Sintaxe
void WINAPI DeleteMediaType(
AM_MEDIA_TYPE *pmt
);
Parâmetros
-
Pgto
-
Um ponteiro para uma estrutura AM_MEDIA_TYPE .
Retornar valor
Essa função não retorna um valor.
Comentários
Use essa função para liberar qualquer estrutura de tipo de mídia alocada usando CoTaskMemAlloc ou CreateMediaType.
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;
}
}
// Delete a media type structure that was allocated on the heap.
void _DeleteMediaType(AM_MEDIA_TYPE *pmt)
{
if (pmt != NULL)
{
_FreeMediaType(*pmt);
CoTaskMemFree(pmt);
}
}
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|