Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

CComAutoThreadModule Class

As of ATL 7.0, CComAutoThreadModule is obsolete: see ATL Module Classes for more details.

template<
   class ThreadAllocator = CComSimpleThreadAllocator 
>
class CComAutoThreadModule :
   public CComModule

Parameters

ThreadAllocator
[in] The class managing thread selection. The default value is CComSimpleThreadAllocator.

Remarks

Note   This class is obsolete, having been replaced by the CAtlAutoThreadModule and CAtlModule derived classes. The information that follows is for use with older releases of ATL.

CComAutoThreadModule derives from CComModule to implement a thread-pooled, apartment-model COM server for EXEs and Windows services. CComAutoThreadModule uses CComApartment to manage an apartment for each thread in the module.

Derive your module from CComAutoThreadModule when you want to create objects in multiple apartments. You must also include the DECLARE_CLASSFACTORY_AUTO_THREAD macro in your object's class definition to specify CComClassFactoryAutoThread as the class factory.

By default, the ATL COM AppWizard (the ATL Project Wizard in Visual Studio .NET) will derive your module from CComModule. To use CComAutoThreadModule, modify the class definition. For example:

class CMyModule : 
public CComAutoThreadModule<CComSimpleThreadAllocator>
{
public:
   LONG Unlock( )
   {
      LONG l = CComAutoThreadModule<ComSimpleThreadAllocator>::Unlock( );
      if (l == 0)
         PostThreadMessage(dwThreadID, WM_QUIT, 0, 0);
      return l;
   }

   DWORD dwThreadID;
};

Requirements

Header: atlbase.h

See Also

Class Members | ATL Class Overview | ATL Module Classes

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.