Compartilhar via


Método CBaseInputPin.ReceiveMultiple

[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 ReceiveMultiple método recebe uma matriz de exemplos. Esse método implementa o método IMemInputPin::ReceiveMultiple .

Sintaxe

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

Parâmetros

pSamples

Endereço de uma matriz de ponteiros IMediaSample , de tamanho nSamples.

nSamples

Número de amostras a serem processadas.

nSamplesProcessed

Ponteiro para uma variável que recebe o número de amostras que foram processadas.

Retornar valor

Retorna um valor HRESULT . Os valores possíveis incluem aqueles listados na tabela a seguir.

Código de retorno Descrição
S_OK
Êxito.
S_FALSE
O pino está sendo liberado no momento; exemplo foi rejeitado.
E_POINTER
Argumento de ponteiro NULL.
VFW_E_INVALIDMEDIATYPE
Tipo de mídia inválido.
VFW_E_RUNTIME_ERROR
Ocorreu um erro em tempo de execução.
VFW_E_WRONG_STATE
O pino está parado.

Comentários

Esse método se comporta como o método CBaseInputPin::Receive , mas recebe uma matriz de exemplos. Na classe base, o método faz um loop pela matriz e chama Receive com cada exemplo. Substitua essa função se o filtro puder processar lotes de exemplos com mais eficiência do que processá-los um de cada vez.

Requisitos

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

Confira também

Classe CBaseInputPin