CComAutoThreadModule クラス
更新 : 2007 年 11 月
ATL 7.0 では、CComAutoThreadModule は互換性のために残されています。詳細については、「ATL モジュール クラス」を参照してください。
template<
class ThreadAllocator = CComSimpleThreadAllocator
>
class CComAutoThreadModule :
public CComModule
パラメータ
- ThreadAllocator
[入力] スレッドの選択を管理するクラス。既定値は CComSimpleThreadAllocator です。
解説
メモ : |
---|
このクラスは、互換性のために残されています。実際には、CAtlAutoThreadModule と CAtlModule の各派生クラスに置き換えられています。以下は、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