Método CBasePin.ReceiveConnection
[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 ReceiveConnection
método acepta una conexión de otro pin. Este método implementa el método IPin::ReceiveConnection .
Sintaxis
HRESULT ReceiveConnection(
IPin *pConnector,
AM_MEDIA_TYPE *pmt
);
Parámetros
-
pConnector
-
Puntero a la interfaz IPin del pin de conexión.
-
Pmt
-
Puntero a una estructura AM_MEDIA_TYPE que especifica el tipo de medio.
Valor devuelto
Devuelve un valor HRESULT . Entre los valores posibles se incluyen los de la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
Argumento de puntero NULL. |
|
El pin ya está conectado. |
|
El filtro está activo y el pin no admite la reconexión dinámica. |
|
El tipo de medio especificado no es aceptable. |
Observaciones
El pin de salida llama a este método en el pin de entrada. Si el pin de entrada devuelve un código de error, se produce un error en la conexión.
En la clase base, este método realiza los pasos siguientes:
- Comprueba si el pin ya está conectado.
- Comprueba si el filtro está detenido.
- Llama al método CBasePin::CheckConnect para comprobar si el pin de conexión es adecuado.
- Llama al método CBasePin::CheckMediaType para comprobar si el tipo de medio es aceptable.
Si todos estos pasos se realizan correctamente, el método llama a los métodos CBasePin::CompleteConnect y SetMediaType para completar la conexión. Estos métodos almacenan el tipo de medio y un puntero al pin de salida.
Si se produce un error en CheckConnect o CheckMediaType , la clase base llama al método CBasePin::BreakConnect para interrumpir la conexión y, a continuación, devuelve un código de error de ReceiveConnection
.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|