Compartilhar via


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
Wxutil.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe CAMMsgEvent