Metodo CAMMsgEvent.WaitMsg
[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.
Il WaitMsg
metodo attende che l'evento venga segnalato, durante l'invio di messaggi inviati.
Sintassi
BOOL WaitMsg(
DWORD dwTimeOut = INFINITE
);
Parametri
-
dwTimeOut
-
Valore di timeout facoltativo, in millisecondi.
Valore restituito
Restituisce TRUE se l'evento viene segnalato o FALSE se si è verificato il timeout.
Commenti
Questo metodo chiama la funzione PeekMessage per elaborare i messaggi. Chiamare questo metodo anziché CAMEvent::Wait se il thread deve elaborare i messaggi durante l'attesa di un evento. Se il thread non elabora i messaggi e un altro thread invia un messaggio, il deadlock potrebbe verificarsi.
Si supponga, ad esempio, di creare un thread e quindi di bloccare fino all'inizializzazione del thread. Se il thread invia un messaggio alla finestra chiamando la funzione SendMessage, verrà generato un deadlock. Questo perché SendMessage non restituisce finché il messaggio non è stato elaborato. La chiamata a WaitMsg consente di restituire la chiamata SendMessage, impedendo il deadlock.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|