Classe CMsgThread
[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.]
A CMsgThread
classe é uma classe de thread de trabalho que enfileira solicitações para o thread de enfileiramento para conclusão de forma assíncrona. Para usar essa classe, derive sua classe dela e substitua a função membro CMsgThread::ThreadMessageProc . A função membro ThreadMessageProc executa cada solicitação. Suas funções de cliente e a função membro ThreadMessageProc devem compartilhar uma definição comum dos parâmetros no objeto CMsg .
Um mecanismo negociado informa ao thread de trabalho para sair. Normalmente, esse será um valor do código de mensagem uMsg da classe CMsg .
É uma boa ideia enviar essa mensagem do destruidor da classe derivada e chamar a função membro CMsgThread::WaitForThreadExit antes de concluir a destruição da classe derivada.
Membros de Dados Protegidos | Descrição |
---|---|
m_hSem | Indica um identificador usado para sinalização. |
m_Lock | Protege o acesso a listas. |
m_lWaiting | Indica a espera de um thread gratuito. |
m_ThreadQueue | Substitui a função membro CMsgThread::GetThreadMsg e bloqueia itens diferentes dessa fila. |
Funções de membro | Descrição |
Cmsgthread | Constrói um objeto CMsgThread . |
CreateThread | Cria um thread. |
GetThreadHandle | Recupera o identificador de thread. |
GetThreadID | Recupera o identificador do thread. |
Getthreadpriority | Recupera a prioridade atual do thread. |
PutThreadMsg | Enfileira uma solicitação de execução pelo thread de trabalho. |
ResumeThread | Continua a operação do thread de trabalho. |
SetThreadPriority | Define a prioridade do thread como um novo valor. |
SuspendThread | Suspende a operação de um thread em execução. |
WaitForThreadExit | Bloqueia até que o thread seja encerrado após uma chamada para a função membro CMsgThread::SuspendThread . |
Funções de membro substituíveis | Descrição |
GetThreadMsg | Recupera um objeto CMsg na fila que contém uma solicitação. |
OnThreadInit | Fornece inicialização em um thread. |
ThreadMessageProc | Processa solicitações. Essa é uma função membro virtual pura. |