Share via


Método CBasePin.CheckConnect

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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 CheckConnect método determina se uma conexão de pino é adequada.

Sintaxe

virtual HRESULT CheckConnect(
   IPin *pPin
);

Parâmetros

pPin

Ponteiro para a interface IPin do outro pino.

Retornar valor

Retorna um dos valores HRESULT mostrados na tabela a seguir.

Código de retorno Descrição
S_OK
Êxito.
VFW_E_INVALID_DIRECTION
As direções de pino não são compatíveis.

Comentários

Esse método é chamado em ambos os pinos no início do processo de conexão. O pin de conexão o chama de dentro do método CBasePin::Connect e o pin de recebimento o chama de dentro do método CBasePin::ReceiveConnection .

Use esse método para determinar se o pino especificado pelo parâmetro pPin é adequado para uma conexão. A classe base retornará um erro se ambos os pinos tiverem a mesma direção (entrada ou saída). Classes derivadas podem substituir esse método para verificar outros recursos no pin. Por exemplo, a classe CBaseOutputPin consulta o pino de entrada para sua interface IMemInputPin .

Se esse método falhar, a conexão falhará e o pin chamará o método CBasePin::BreakConnect . Use BreakConnect para liberar todos os recursos obtidos no CheckConnect. Por exemplo, se CheckConnect chamar o método QueryInterface , BreakConnect deverá liberar a interface.

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