CComAutoThreadModule クラス
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