Método CPullPin.Connect

[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 Connect método conclui uma conexão com o pino de saída.

Sintaxe

HRESULT Connect(
   IUnknown      *pUnk,
   IMemAllocator *pAlloc,
   BOOL          bSync
);

Parâmetros

pUnk

Ponteiro para a interface IUnknown do pino de saída.

pAlloc

Ponteiro para a interface IMemAllocator do alocador preferencial do pin de entrada ou NULL.

bSync

Valor booliano que especifica se as leituras síncronas devem ser usadas. Se TRUE, o pino executará operações de leitura síncronas no pino de saída. Se FALSE, o pino fará solicitações de leitura assíncronas.

Retornar valor

Retorna um HRESULT. Os possíveis valores incluem os seguintes.

Código de retorno Descrição
S_OK
Êxito.
VFW_E_ALREADY_CONNECTED
O pino de entrada já está conectado.
E_NOINTERFACE
O pino de saída não expõe IAsyncReader.

Comentários

Chame esse método durante o processo de conexão do pino de entrada. Se o método falhar, o pino deverá falhar na conexão.

Esse método consulta o pino de saída para a interface IAsyncReader . Se tiver êxito, ele chamará CPullPin::D ecideAllocator para negociar o alocador para a conexão. Se o pin de entrada tiver um alocador preferencial, especifique-o no parâmetro pAlloc ; o método DecideAllocator passa esse ponteiro para o método IAsyncReader::RequestAllocator do pino de saída. Caso contrário, defina pAlloc como NULL.

Se o valor de bSync for TRUE, o objeto CPullPin fará solicitações de leitura síncronas chamando IAsyncReader::SyncReadAligned do pino de saída. Caso contrário, ele chama o método IAsyncReader::Request para fazer solicitações de leitura sobrepostas.

Requisitos

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

Confira também

Classe CPullPin