CComAutoThreadModule クラス

更新 : 2007 年 11 月

ATL 7.0 では、CComAutoThreadModule は互換性のために残されています。詳細については、「ATL モジュール クラス」を参照してください。

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

パラメータ

解説

1ty34ed4.alert_note(ja-jp,VS.90).gifメモ :

このクラスは、互換性のために残されています。実際には、CAtlAutoThreadModuleCAtlModule の各派生クラスに置き換えられています。以下は、ATL の旧リリース用の説明です。

CComAutoThreadModule は、CComModule の派生クラスで、EXE と Windows サービス用のスレッド プール アパートメント モデル COM サーバーを実装します。CComAutoThreadModule は、CComApartment を使用して、モジュール内のスレッド単位でアパートメントを管理します。

複数のアパートメントにオブジェクトを作成するときは、CComAutoThreadModule からモジュールを派生します。また、オブジェクトのクラス定義に DECLARE_CLASSFACTORY_AUTO_THREAD マクロをインクルードして、CComClassFactoryAutoThread をクラス ファクトリとして指定する必要があります。

既定では、ATL COM AppWizard (Visual Studio .NET の ATL プロジェクト ウィザード) は CComModule からモジュールを派生します。CComAutoThreadModule を使用するには、クラス定義を変更します。次に例を示します。

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

   DWORD dwThreadID;
};

必要条件

ヘッダー : atlbase.h

参照

参照

ATL モジュール クラス

その他の技術情報

CComAutoThreadModule のメンバ

ATL クラスの概要