Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[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. |