Share via


Método CBasePin.EnumMediaTypes

[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.]

O EnumMediaTypes método enumera os tipos de mídia preferenciais do pino. Esse método implementa o método IPin::EnumMediaTypes .

Sintaxe

HRESULT EnumMediaTypes(
   IEnumMediaTypes **ppEnum
);

Parâmetros

ppEnum

Endereço de uma variável que recebe um ponteiro para a interface IEnumMediaTypes .

Retornar valor

Retorna um valor HRESULT . Os valores possíveis incluem os da tabela a seguir.

Código de retorno Descrição
S_OK
Êxito.
E_OUTOFMEMORY
Memória insuficiente.
E_POINTER
Argumento de ponteiro NULL.

Comentários

Os pinos de entrada não são necessários para enumerar nenhum tipo preferencial. Os pinos de saída devem enumerar pelo menos um tipo preferencial. Caso contrário, ambos os pinos podem não ter um tipo preferencial, impossibilitando uma conexão.

A interface IEnumMediaTypes funciona como um enumerador COM padrão. Para obter mais informações, consulte Enumerando objetos em um grafo de filtro. Se o método for bem-sucedido, a interface IEnumMediaTypes terá uma contagem de referência pendente. Certifique-se de liberá-lo quando terminar.

A classe base CEnumMediaTypes implementa IEnumMediaTypes. Ele chama o método CBasePin::GetMediaType do pin para enumerar os tipos de mídia.

Requisitos

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

Confira também

Classe CBasePin