Compartilhar via


Método CBasePin.TryMediaTypes

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

Dada uma lista de tipos de mídia, o TryMediaTypes método tenta concluir uma conexão usando um desses tipos.

Sintaxe

virtual HRESULT TryMediaTypes(
         IPin            *pReceivePin,
   const CMediaType      *pmt,
         IEnumMediaTypes *pEnum
);

Parâmetros

pReceivePin

Ponteiro para a interface IPin do pino receptor.

Pgto

Ponteiro para um objeto CMediaType que limita os tipos de mídia possíveis ou NULL.

pEnum

Ponteiro para uma interface IEnumMediaTypes , usada para enumerar a lista de tipos de mídia.

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.
VFW_E_NO_ACCEPTABLE_TYPES
Não encontrou um tipo de mídia aceitável.

Comentários

Para cada tipo de mídia retornado pela interface IEnumMediaTypes , esse método tenta uma conexão chamando o método CBasePin::AttemptConnection .

Se o parâmetro pmt não for NULL, o pin ignorará os tipos de mídia que não correspondem a esse tipo. O parâmetro pmt pode especificar um tipo de mídia parcial. Um tipo de mídia parcial tem um valor de GUID_NULL para o tipo principal, o subtipo ou o formato. O valor GUID_NULL corresponde a qualquer tipo, semelhante a um valor "curinga".

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