Partager via


Méthode ISampleGrabber::SetCallback

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Notes

[Déconseillé. Cette API peut être supprimée des versions ultérieures de Windows.]

 

La méthode SetCallback spécifie une méthode de rappel à appeler sur les exemples entrants.

Syntaxe

HRESULT SetCallback(
   ISampleGrabberCB *pCallback,
   long             WhichMethodToCallback
);

Paramètres

pCallback

Pointeur vers une interface ISampleGrabberCB contenant la méthode de rappel ou NULL pour annuler le rappel.

WhichMethodToCallback

Index spécifiant la méthode de rappel. Il doit s’agir de l’une des valeurs suivantes.

Valeur Description
0 Le filtre Sample Grabber appelle la méthode ISampleGrabberCB::SampleCB . Cette méthode reçoit un pointeur IMediaSample .
1 Le filtre Sample Grabber appelle la méthode ISampleGrabberCB::BufferCB . Cette méthode reçoit un pointeur vers la mémoire tampon contenue dans l’exemple de média.

 

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Le thread de traitement des données se bloque jusqu’à ce que la méthode de rappel retourne. Si le rappel ne retourne pas rapidement, il peut interférer avec la lecture.

Le filtre n’appelle pas la fonction de rappel pour les exemples de pré-inscription ou pour les exemples dans lesquels le membre dwStreamId de la structure AM_SAMPLE2_PROPERTIES est autre que AM_STREAM_MEDIA.

Notes

Le fichier d’en-tête Qedit.h n’est pas compatible avec les en-têtes Direct3D ultérieurs à la version 7.

 

Notes

Pour obtenir Qedit.h, téléchargez Microsoft Windows SDK Update pour Windows Vista et .NET Framework 3.0. Qedit.h n’est pas disponible dans le Microsoft Windows SDK pour Windows 7 et .NET Framework 3.5 Service Pack 1.

 

Configuration requise

Condition requise Valeur
En-tête
Qedit.h
Bibliothèque
Strmiids.lib

Voir aussi

Utilisation de l’exemple de capture

ISampleGrabber, interface