CMsgThread (clase)
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
La CMsgThread
clase es una clase de subproceso de trabajo que pone en cola las solicitudes al subproceso de puesta en cola para completarse de forma asincrónica. Para usar esta clase, derive la clase de ella e invalide la función miembro CMsgThread::ThreadMessageProc . La función miembro ThreadMessageProc lleva a cabo cada solicitud. Las funciones de cliente y la función miembro ThreadMessageProc deben compartir una definición común de los parámetros en el objeto CMsg .
Un mecanismo negociado indica al subproceso de trabajo que salga. Normalmente, este será un valor del código de mensaje de la clase UMsg de la clase CMsg .
Es recomendable enviar este mensaje desde el destructor de la clase derivada y llamar a la función miembro CMsgThread::WaitForThreadExit antes de completar la destrucción de la clase derivada.
Miembros de datos protegidos | Descripción |
---|---|
m_hSem | Indica un identificador utilizado para la señalización. |
m_Lock | Protege el acceso a las listas. |
m_lWaiting | Indica la espera de un subproceso libre. |
m_ThreadQueue | Invalida la función miembro CMsgThread::GetThreadMsg y bloquea elementos distintos de esta cola. |
Funciones de miembro | Descripción |
CMsgThread | Construye un objeto CMsgThread . |
CreateThread | Crea un subproceso. |
GetThreadHandle | Recupera el identificador de subproceso. |
GetThreadID | Recupera el identificador del subproceso. |
GetThreadPriority | Recupera la prioridad del subproceso actual. |
PutThreadMsg | Pone en cola una solicitud de ejecución por el subproceso de trabajo. |
ResumeThread | Continúa la operación del subproceso de trabajo. |
SetThreadPriority | Establece la prioridad del subproceso en un nuevo valor. |
SuspendThread | Suspende la operación de un subproceso en ejecución. |
WaitForThreadExit | Bloquea hasta que el subproceso se haya salido después de una llamada a la función miembro CMsgThread::SuspendThread . |
Funciones miembro reemplazables | Descripción |
GetThreadMsg | Recupera un objeto CMsg en cola que contiene una solicitud. |
OnThreadInit | Proporciona inicialización en un subproceso. |
ThreadMessageProc | Procesa las solicitudes. Se trata de una función miembro virtual pura. |