Método CAMMsgEvent.WaitMsg
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O WaitMsg
método aguarda que o evento seja sinalizado durante a expedição de mensagens enviadas.
Sintaxe
BOOL WaitMsg(
DWORD dwTimeOut = INFINITE
);
Parâmetros
-
dwTimeOut
-
Valor de tempo limite opcional, em milissegundos.
Retornar valor
Retornará TRUE se o evento for sinalizado ou FALSE se o tempo limite tiver ocorrido.
Comentários
Esse método chama a função PeekMessage para processar mensagens. Chame esse método em vez de CAMEvent::Wait se o thread precisar processar mensagens enquanto aguarda um evento. Se o thread não processar mensagens e outro thread enviar uma mensagem, poderá ocorrer deadlock.
Por exemplo, suponha que você crie um thread e bloqueie até que o thread seja inicializado. Se o thread enviar uma mensagem para sua janela chamando a função SendMessage, isso resultará em um deadlock. Isso ocorre porque SendMessage não retorna até que a mensagem seja processada. Chamar WaitMsg permite que a chamada SendMessage retorne, impedindo o deadlock.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|