Metodo ISampleGrabber::SetCallback

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nota

[Deprecata. Questa API può essere rimossa dalle versioni future di Windows.]

 

Il metodo SetCallback specifica un metodo di callback da chiamare sugli esempi in ingresso.

Sintassi

HRESULT SetCallback(
   ISampleGrabberCB *pCallback,
   long             WhichMethodToCallback
);

Parametri

pCallback

Puntatore a un'interfaccia ISampleGrabberCB contenente il metodo di callback o NULL per annullare il callback.

QualeMethodToCallback

Indice che specifica il metodo di callback. Deve essere uno dei valori seguenti.

Valore Descrizione
0 Il filtro Sample Grabber chiama il metodo ISampleGrabberCB::SampleCB . Questo metodo riceve un puntatore IMediaSample .
1 Il filtro Sample Grabber chiama il metodo ISampleGrabberCB::BufferCB . Questo metodo riceve un puntatore al buffer contenuto nell'esempio multimediale.

 

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Il thread di elaborazione dati blocca fino a quando il metodo di callback non restituisce. Se il callback non restituisce rapidamente, può interferire con la riproduzione.

Il filtro non richiama la funzione di callback per gli esempi di preroll o per gli esempi in cui il membro dwStreamId della struttura AM_SAMPLE2_PROPERTIES è diverso da AM_STREAM_MEDIA.

Nota

Il file di intestazione Qedit.h non è compatibile con intestazioni Direct3D successive alla versione 7.

 

Nota

Per ottenere Qedit.h, scaricare l'aggiornamento Microsoft Windows SDK per Windows Vista e .NET Framework 3.0. Qedit.h non è disponibile nella Microsoft Windows SDK per Windows 7 e .NET Framework 3.5 Service Pack 1.

 

Requisiti

Requisito Valore
Intestazione
Qedit.h
Libreria
Strmiids.lib

Vedi anche

Uso di Sample Grabber

Interfaccia ISampleGrabber