Compartir a través de


Método CBaseInputPin.ReceiveCanBlock

[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 ReceiveCanBlock método determina si las llamadas al método IMemInputPin::Receive pueden bloquearse. Este método implementa el método IMemInputPin::ReceiveCanBlock .

Sintaxis

HRESULT ReceiveCanBlock();

Parámetros

Este método no tiene parámetros.

Valor devuelto

Devuelve un valor HRESULT . Entre los posibles valores se incluyen los enumerados en la tabla siguiente.

Código devuelto Descripción
S_FALSE
El pin no se bloqueará en una llamada a Receive.
S_OK
El pin podría bloquearse en una llamada a Receive.

Observaciones

Devuelve S_FALSE si se garantiza que las llamadas al método Receive no se bloqueen. De lo contrario, devuelva S_OK o un código de error. Si el método Receive llama a Receive en una patilla descendente, la patilla de nivel inferior podría bloquearse; ReceiveCanBlock debe tener en cuenta ese factor.

Un filtro ascendente puede usar este método para determinar su estrategia de subprocesos. Si el método Receive podría bloquearse, el filtro ascendente podría decidir usar un subproceso de trabajo que almacena en búfer los datos. Consulte la clase COutputQueue para obtener una implementación de esta estrategia.

En la clase base, este método devuelve S_OK cuando se cumple cualquiera de las siguientes condiciones:

  • El filtro no tiene patillas de salida.
  • Un pin de entrada conectado a este filtro indica que podría bloquearse.
  • Un pin de entrada conectado a este filtro no admite la interfaz IMemInputPin .

Requisitos

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

Consulte también

CBaseInputPin (clase)