CMsgThread Class
A version of this page is also available for
4/8/2010
This class is a worker thread class that queues requests to the queuing thread for completion asynchronously.
To use this class, derive your class from it and override the CMsgThread::ThreadMessageProc member function.
The ThreadMessageProc member function carries out each request. Your client functions and the ThreadMessageProc member function must share a common definition of the parameters in the CMsg object.
A negotiated mechanism tells the worker thread to exit. Typically, this is one value of the CMsg class's uMsg message code.
It is a good idea to send this message from the destructor of your derived class and call the CMsgThread::WaitForThreadExit member function before completing the destruction of the derived class.
Protected Data Members
Member | Description |
---|---|
m_hSem |
Indicates a handle used for signaling. |
m_Lock |
Protects access to lists. |
m_lWaiting |
Indicates waiting for a free thread. |
m_ThreadQueue |
Overrides the CMsgThread::GetThreadMsg member function and blocks on things other than this queue. |
Member Functions
Member function | Description |
---|---|
Constructs a CMsgThread object. |
|
Creates a thread. |
|
Returns the thread handle. |
|
Returns the identifier of the thread. |
|
Retrieves the current thread priority. |
|
Queues a request for execution by the worker thread. |
|
Continues the operation of the worker thread. |
|
Sets the priority of the thread to a new value. |
|
Suspends the operation of a running thread. |
|
Blocks until the thread has exited after a call to the CMsgThread::SuspendThread member function. |
Overrideable Member Functions
Member function | Description |
---|---|
Retrieves a queued CMsg object containing a request. |
|
Provides initialization on a thread. |
|
Processes requests. This is a pure virtual member function. |
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
Note | Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements For more information, see Setting Up the Build Environment |