Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

DirectShow implements several classes to handle Win32 threads, events, and critical sections. These include the following classes.

The following illustration shows these classes.

CAMEventhandles a Windows Embedded CE event as a C++ object. The methods in this class allow events to be put into the signaled state or reset to a nonsignaled state, and also allow a caller to block until an event is signaled. Events can also be cast to handles and passed to the WaitForMultipleObjectsfunction.

CCritSechandles a Win32 critical section as a C++ object to provide intraprocess synchronization. Methods of this class allow you to create, lock, and unlock a critical section.

CAutoLockholds a critical section (a CCritSecobject) for the scope of a block or function. The critical section is locked in the constructor and unlocked in the destructor.

CAMThreadprovides an abstract worker thread class enabling creation, synchronization, and communication with a worker thread.

CMsgThreadprovides support for a worker thread to which requests can be posted asynchronously instead of being sent directly. Messages, in the form of a CMsgobject, can be posted to a CMsgThreadobject.

CMsgcreates an object containing a message to be passed to a CMsgThreadobject.