Método CPullPin.Connect

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El Connect método completa una conexión con el pin de salida.

Sintaxis

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

Parámetros

pUnk

Puntero a la interfaz IUnknown del pin de salida.

pAlloc

Puntero a la interfaz IMemAllocator del asignador preferido del pin de entrada o NULL.

bSync

Valor booleano que especifica si se deben usar lecturas sincrónicas. Si es TRUE, la patilla realiza operaciones de lectura sincrónicas en el pin de salida. Si es FALSE, el pin realiza solicitudes de lectura asincrónicas.

Valor devuelto

Devuelve un VALOR HRESULT. Estos son algunos de los valores posibles.

Código devuelto Descripción
S_OK
Correcto.
VFW_E_ALREADY_CONNECTED
El pin de entrada ya está conectado.
E_NOINTERFACE
El pin de salida no expone IAsyncReader.

Observaciones

Llame a este método durante el proceso de conexión del pin de entrada. Si se produce un error en el método, la patilla debe producir un error en la conexión.

Este método consulta el pin de salida de la interfaz IAsyncReader . Si se ejecuta correctamente, llama a CPullPin::D ecideAllocator para negociar el asignador de la conexión. Si el pin de entrada tiene un asignador preferido, especifíquelo en el parámetro pAlloc ; El método DecideAllocator pasa este puntero al método IAsyncReader::RequestAllocator del pin de salida. De lo contrario, establezca pAlloc en NULL.

Si el valor de bSync es TRUE, el objeto CPullPin realiza solicitudes de lectura sincrónicas mediante una llamada al IAsyncReader::SyncReadAligned del pin de salida. De lo contrario, llama al método IAsyncReader::Request para realizar solicitudes de lectura superpuestas.

Requisitos

Requisito Value
Encabezado
Pullpin.h
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CPullPin (clase)