Méthode CMsgThread.ThreadMessageProc

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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.]

Traite les demandes. Il s’agit d’une fonction membre virtuelle pure.

Syntaxe

virtual LRESULT ThreadMessageProc(
   UINT     uMsg,
   DWORD    dwFlags,
   LPVOID   lpParam,
   CAMEvent *pEvent
);

Paramètres

uMsg

Demander du code.

dwFlags

Paramètre d’indicateur facultatif à demander.

lpParam

Pointeur facultatif vers des données supplémentaires ou un bloc de données de retour.

pEvent

Pointeur facultatif vers un objet d’événement.

Valeur renvoyée

Tout retour différent de zéro entraîne la fermeture du thread. Retourne zéro, sauf si une demande de sortie a été traitée récemment.

Notes

Cette fonction virtuelle pure doit être remplacée dans votre classe dérivée. Il sera appelé une fois pour chaque requête mise en file d’attente par un appel à la fonction membre CMsgThread::P utThreadMsg .

La fonction membre définit les quatre paramètres. En règle générale, utilisez le paramètre uMsg pour indiquer la demande, et les trois autres paramètres sont des paramètres supplémentaires facultatifs. L’application appelante peut fournir un pointeur vers un objet CAMEvent dans le paramètre pEvent si votre application en a besoin. Vous devez définir cet événement après avoir traité l’événement à l’aide d’une expression telle que :

pEvent->SetEvent

Un code de requête doit être mis de côté pour indiquer au thread de travail de quitter. À la réception de cette demande, retournez 1 à partir de cette fonction membre. Retournez 0 si vous ne souhaitez pas que le thread de travail se ferme.

Configuration requise

Condition requise Valeur
En-tête
Msgthrd.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CMsgThread, classe