CComAutoThreadModule クラス
ATL 7.0 では、CComAutoThreadModule は互換性のために残されています: ATL モジュール クラス を詳細については、" "を参照してください。
重要
このクラスおよびメンバーは、Windows のランタイムで実行するアプリケーションで使用することはできません。
template<
class ThreadAllocator= CComSimpleThreadAllocator
>
class CComAutoThreadModule :
public CComModule
パラメーター
- ThreadAllocator
[出力]クラスの管理のスレッドの選択。 既定値は CComSimpleThreadAllocatorです。
メンバー
メソッド
スレッドを選択し、関連付けられているアパートメントのオブジェクトを作成します。 |
|
(静的) 動的にプロセッサ数に基づいてモジュールのスレッド数を計算します。 |
|
モジュールのスレッドを作成します。 |
|
モジュールと現在のスレッドのロック カウントをインクリメントします。 |
|
モジュールと現在のスレッドのロック カウントをデクリメントします。 |
データ メンバー
データ メンバー
現在のスレッド識別子が含まれます。 |
|
管理のスレッドの選択。 |
|
モジュールでスレッド数が含まれます。 |
|
モジュールのアパートメントを管理します。 |
解説
注意
このクラスは、互換性のために CAtlAutoThreadModule と CAtlModule の派生クラスに置き換えられます。次の情報は、ATL の旧リリースで使用するためです。
CComAutoThreadModule は CComModule から EXE および Windows サービスの、スレッドがプールされているアパートメント モデル COM サーバーを実装するために取得します。 CComAutoThreadModule は、モジュールの各スレッドのアパートメントの管理に CComApartment を使用します。
複数のアパートメントにオブジェクトを作成するときは、CComAutoThreadModule からモジュールを派生します。 また、オブジェクトのクラス定義にクラス ファクトリとして CComClassFactoryAutoThread を指定するに DECLARE_CLASSFACTORY_AUTO_THREAD のマクロを含める必要があります。
既定では、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;
};
継承階層
IAtlAutoThreadModule
CComAutoThreadModule
必要条件
atlbase.hHeader: