Compartilhar via


Método CBasePin.AgreeMediaType

[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 AgreeMediaType método procura um tipo de mídia para fazer uma conexão de fixação.

Sintaxe

virtual HRESULT AgreeMediaType(
         IPin       *pReceivePin,
   const CMediaType *pmt
);

Parâmetros

pReceivePin

Ponteiro para a interface IPin do pino receptor.

Pgto

Ponteiro para um objeto CMediaType que especifica um tipo de mídia ou NULL.

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
Nenhum tipo de mídia aceitável foi encontrado.

Comentários

Se o parâmetro pmt não for NULL e especificar totalmente um tipo de mídia, esse método tentará uma conexão usando esse tipo de mídia. Se a tentativa falhar, o método retornará um erro.

Se o parâmetro pmt for NULL ou especificar um tipo de mídia parcial, esse método tentará tipos de mídia na seguinte ordem:

  1. Os tipos de mídia preferenciais do pino de recebimento.
  2. Os tipos de mídia preferenciais desse pino.

Os tipos de mídia preferenciais são enumerados com o método CBasePin::EnumMediaTypes e o enumerador resultante é passado para o método CBasePin::TryMediaTypes .

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