Compartilhar via


Método ISampleGrabber::SetCallback

[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.]

Observação

[Preterido. Essa API pode ser removida de versões futuras do Windows.]

 

O método SetCallback especifica um método de retorno de chamada para chamar em exemplos de entrada.

Sintaxe

HRESULT SetCallback(
   ISampleGrabberCB *pCallback,
   long             WhichMethodToCallback
);

Parâmetros

pCallback

Ponteiro para uma interface ISampleGrabberCB que contém o método de retorno de chamada ou NULL para cancelar o retorno de chamada.

WhichMethodToCallback

Índice que especifica o método de retorno de chamada. Deve ser um dos valores a seguir.

Valor Descrição
0 O filtro Grabber de Exemplo chama o método ISampleGrabberCB::SampleCB . Esse método recebe um ponteiro IMediaSample .
1 O filtro Grabber de Exemplo chama o método ISampleGrabberCB::BufferCB . Esse método recebe um ponteiro para o buffer contido no exemplo de mídia.

 

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

O thread de processamento de dados é bloqueado até que o método de retorno de chamada retorne. Se o retorno de chamada não retornar rapidamente, ele poderá interferir na reprodução.

O filtro não invoca a função de retorno de chamada para exemplos de pré-registro ou para amostras nas quais o membro dwStreamId da estrutura AM_SAMPLE2_PROPERTIES é algo diferente de AM_STREAM_MEDIA.

Observação

O arquivo de cabeçalho Qedit.h não é compatível com cabeçalhos Direct3D posteriores à versão 7.

 

Observação

Para obter qedit.h, baixe o SDK do Microsoft Windows Update para Windows Vista e .NET Framework 3.0. O Qedit.h não está disponível no SDK do Microsoft Windows para Windows 7 e .NET Framework 3.5 Service Pack 1.

 

Requisitos

Requisito Valor
parâmetro
Qedit.h
Biblioteca
Strmiids.lib

Confira também

Usando o grabber de exemplo

ISampleGrabber Interface