CAMMsgEvent.WaitMsg, méthode
[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.]
La WaitMsg
méthode attend que l’événement soit signalé lors de la distribution des messages envoyés.
Syntaxe
BOOL WaitMsg(
DWORD dwTimeOut = INFINITE
);
Paramètres
-
dwTimeOut
-
Valeur de délai d’attente facultative, en millisecondes.
Valeur renvoyée
Retourne TRUE si l’événement est signalé, ou FALSE si le délai d’attente s’est produit.
Notes
Cette méthode appelle la fonction PeekMessage pour traiter les messages. Appelez cette méthode au lieu de CAMEvent::Wait si votre thread doit traiter les messages en attendant un événement. Si le thread ne traite pas les messages et qu’un autre thread envoie un message, un blocage peut se produire.
Par exemple, supposons que vous créez un thread, puis que vous bloquez jusqu’à ce que le thread s’initialise. Si le thread envoie un message à votre fenêtre en appelant la fonction SendMessage, cela entraîne un blocage. Cela est dû au fait que SendMessage ne retourne pas tant que le message n’a pas été traité. L’appel de WaitMsg permet à l’appel SendMessage de revenir, ce qui empêche l’interblocage.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|