Método CBaseInputPin.ReceiveMultiple

[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 ReceiveMultiple método recibe una matriz de ejemplos. Este método implementa el método IMemInputPin::ReceiveMultiple .

Sintaxis

HRESULT ReceiveMultiple(
   IMediaSample **pSamples,
   long         nSamples,
   long         *nSamplesProcessed
);

Parámetros

pSamples

Dirección de una matriz de punteros IMediaSample , de tamaño nSamples.

nSamples

Número de muestras que se van a procesar.

nSamplesProcessed

Puntero a una variable que recibe el número de muestras procesadas.

Valor devuelto

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

Código devuelto Descripción
S_OK
Correcto.
S_FALSE
El pin está vacíando actualmente; se rechazó el ejemplo.
E_POINTER
Argumento de puntero NULL.
VFW_E_INVALIDMEDIATYPE
Tipo de medio no válido.
VFW_E_RUNTIME_ERROR
Error en tiempo de ejecución.
VFW_E_WRONG_STATE
El pin se detiene.

Observaciones

Este método se comporta como el método CBaseInputPin::Receive , pero recibe una matriz de ejemplos. En la clase base, el método recorre en bucle la matriz y llama a Receive con cada ejemplo. Invalide esta función si el filtro puede procesar lotes de muestras de forma más eficaz que procesarlos de uno en uno.

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)