Share via


CMsgThread Class

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

Aa926058.0a19bc2e-41d5-45ec-9fc7-616144f35ae7(en-us,MSDN.10).gif

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

CMsgThread

Constructs a CMsgThread object.

CreateThread

Creates a thread.

GetThreadHandle

Returns the thread handle.

GetThreadID

Returns the identifier of the thread.

GetThreadPriority

Retrieves the current thread priority.

PutThreadMsg

Queues a request for execution by the worker thread.

ResumeThread

Continues the operation of the worker thread.

SetThreadPriority

Sets the priority of the thread to a new value.

SuspendThread

Suspends the operation of a running thread.

WaitForThreadExit

Blocks until the thread has exited after a call to the CMsgThread::SuspendThread member function.

Overrideable Member Functions

Member function Description

GetThreadMsg

Retrieves a queued CMsg object containing a request.

OnThreadInit

Provides initialization on a thread.

ThreadMessageProc

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