ATL Typedefs
Active Template Library には、次の typedef が含まれています。
Typedef | 説明 |
---|---|
_ATL_BASE_MODULE | _ATL_BASE_MODULE70 に基づく typedef として定義されます。 |
_ATL_COM_MODULE | _ATL_COM_MODULE70 に基づく typedef として定義されます。 |
_ATL_MODULE | _ATL_MODULE70 に基づく typedef として定義されます。 |
_ATL_WIN_MODULE | _ATL_WIN_MODULE70 に基づく typedef として定義されます。 |
ATL_URL_PORT | ポート番号を指定する場合に CUrl に使われる型。 |
CComDispatchDriver | このクラスは、COM インターフェイス ポインターを管理します。 |
CComGlobalsThreadModel | 使用されているスレッド モデルに関係なく、適切なスレッド モデル メソッドを呼び出します。 |
CComObjectThreadModel | 使用されているスレッド モデルに関係なく、適切なスレッド モデル メソッドを呼び出します。 |
CContainedWindow | このクラスは CContainedWindowT の特殊化です。 |
CPath | CString を使った CPathT の特殊化。 |
CPathA | CStringA を使った CPathT の特殊化。 |
CPathW | CStringW を使った CPathT の特殊化。 |
CSimpleValArray | 単純型を格納するための配列を表します。 |
DefaultThreadTraits | 既定のスレッド特徴クラス。 |
LPCURL | 定数 CUrl オブジェクトへのポインター。 |
LPURL | CUrl オブジェクトへのポインター。 |
_ATL_BASE_MODULE
_ATL_BASE_MODULE70 に基づく typedef として定義されます。
typedef ATL::_ATL_BASE_MODULE70 _ATL_BASE_MODULE;
解説
すべての ATL プロジェクトで使用されます。 _ATL_BASE_MODULE70 に基づきます。
ATL 7.0 モジュール クラスの一部であるクラスは、_ATL_BASE_MODULE 構造体から派生します。 ATL モジュール クラスの詳細については、「COM モジュール クラス」を参照してください。
要件
ヘッダー: atlcore.h
_ATL_COM_MODULE
_ATL_COM_MODULE70 に基づく typedef として定義されます。
typedef ATL::_ATL_COM_MODULE70 _ATL_COM_MODULE;
解説
COM 機能を使用する ATL プロジェクトによって使用されます。 _ATL_COM_MODULE70 に基づきます。
要件
ヘッダー: atlbase.h
_ATL_MODULE
_ATL_MODULE70 に基づく typedef として定義されます。
typedef ATL::_ATL_MODULE70 _ATL_MODULE;
要件
ヘッダー:
解説
_ATL_MODULE70 に基づきます。
_ATL_WIN_MODULE
_ATL_WIN_MODULE70 に基づく typedef として定義されます。
typedef ATL::_ATL_WIN_MODULE70 _ATL_WIN_MODULE;
解説
ウィンドウ機能を使用する ATL プロジェクトによって使用されます。 _ATL_WIN_MODULE70 に基づきます。
要件
ヘッダー: atlbase.h
ATL_URL_PORT
ポート番号を指定する場合に CUrl に使われる型。
typedef WORD ATL_URL_PORT;
要件
ヘッダー: atlutil.h
CComDispatchDriver
このクラスは、COM インターフェイス ポインターを管理します。
typedef CComQIPtr<IDispatch, &__uuidof(IDispatch)> CComDispatchDriver;
要件
ヘッダー: atlbase.h
CComGlobalsThreadModel
使用されているスレッド モデルに関係なく、適切なスレッド モデル メソッドを呼び出します。
#if defined(_ATL_SINGLE_THREADED)
typedef CComSingleThreadModel CComGlobalsThreadModel;
#elif defined(_ATL_APARTMENT_THREADED)
typedef CComMultiThreadModel CComGlobalsThreadModel;
#elif defined(_ATL_FREE_THREADED)
typedef CComMultiThreadModel CComGlobalsThreadModel;
#else
#pragma message ("No global threading model defined")
#endif
解説
アプリケーションで使用されるスレッド モデルに応じて、typedef
名 CComGlobalsThreadModel
は、CComSingleThreadModel または CComMultiThreadModel のいずれかを参照します。 これらのクラスには、重要なセクション クラスを参照するための追加の typedef
名が用意されています。
Note
CComGlobalsThreadModel
はクラス CComMultiThreadModelNoCS を参照しません。
CComGlobalsThreadModel
を使用すると、特定のスレッド モデル クラスを指定する必要がなくなります。 使用されているスレッド モデルに関係なく、適切なメソッドが呼び出されます。
CComGlobalsThreadModel
に加えて、ATL には CComObjectThreadModel という typedef
名が用意されています。 各 typedef
で参照されるクラスは、次の表に示すように、使うスレッド モデルに依存します。
typedef | 単一スレッド | アパートメント スレッド | フリー スレッド |
---|---|---|---|
CComObjectThreadModel |
S | S | 月 |
CComGlobalsThreadModel |
S | 月 | 月 |
S= CComSingleThreadModel
、M= CComMultiThreadModel
CComObjectThreadModel
は、単一のオブジェクト クラス内で使用します。 CComGlobalsThreadModel
は、プログラムでグローバルに使用できるオブジェクト内か、複数のスレッド間でモジュール リソースを保護する必要がある場合に使用します。
要件
ヘッダー: atlbase.h
CComObjectThreadModel
使用されているスレッド モデルに関係なく、適切なスレッド モデル メソッドを呼び出します。
#if defined(_ATL_SINGLE_THREADED)
typedef CComSingleThreadModel CComObjectThreadModel;
#elif defined(_ATL_APARTMENT_THREADED)
typedef CComSingleThreadModel CComObjectThreadModel;
#elif defined(_ATL_FREE_THREADED)
typedef CComMultiThreadModel CComObjectThreadModel;
#else
#pragma message ("No global threading model defined")
#endif
解説
アプリケーションで使用されるスレッド モデルに応じて、typedef
名 CComObjectThreadModel
は、CComSingleThreadModel または CComMultiThreadModel のいずれかを参照します。 これらのクラスには、重要なセクション クラスを参照するための追加の typedef
名が用意されています。
Note
CComObjectThreadModel
はクラス CComMultiThreadModelNoCS を参照しません。
CComObjectThreadModel
を使用すると、特定のスレッド モデル クラスを指定する必要がなくなります。 使用されているスレッド モデルに関係なく、適切なメソッドが呼び出されます。
CComObjectThreadModel
に加えて、ATL には CComGlobalsThreadModel という typedef
名が用意されています。 各 typedef
で参照されるクラスは、次の表に示すように、使うスレッド モデルに依存します。
typedef | 単一スレッド | アパートメント スレッド | フリー スレッド |
---|---|---|---|
CComObjectThreadModel |
S | S | 月 |
CComGlobalsThreadModel |
S | 月 | 月 |
S= CComSingleThreadModel
、M= CComMultiThreadModel
CComObjectThreadModel
は、単一のオブジェクト クラス内で使用します。 CComGlobalsThreadModel
は、プログラムでグローバルに使用できるオブジェクト内か、複数のスレッド間でモジュール リソースを保護する必要がある場合に使用します。
要件
ヘッダー: atlbase.h
CContainedWindow
このクラスは CContainedWindowT
の特殊化です。
typedef CContainedWindowT<CWindow> CContainedWindow;
要件
ヘッダー: atlwin.h
解説
CContainedWindow
は、CContainedWindowT を特殊化したものです。 基底クラスまたは特徴を変更する場合は、CContainedWindowT
を直接使用してください。
CPath
CString
を使った CPathT の特殊化。
typedef CPathT<CString> CPath;
要件
ヘッダー: atlpath.h
CPathA
CStringA
を使った CPathT の特殊化。
typedef CPathT<CStringA> CPathA;
要件
ヘッダー: atlpath.h
CPathW
CStringW
を使った CPathT の特殊化。
typedef ATL::CPathT<CStringW> CPathW;
要件
ヘッダー: atlpath.h
CSimpleValArray
単純型を格納するための配列を表します。
#define CSimpleValArray CSimpleArray
解説
CSimpleValArray
は、単純なデータ型を含む配列を管理するために用意されています。 これは CSimpleArray の単純な #define です。
要件
ヘッダー: atlsimpcoll.h
LPCURL
定数 CUrl オブジェクトへのポインター。
typedef const CUrl* LPCURL;
要件
ヘッダー: atlutil.h
DefaultThreadTraits
既定のスレッド特徴クラス。
構文
#if defined(_MT)
typedef CRTThreadTraits DefaultThreadTraits;
#else
typedef Win32ThreadTraits DefaultThreadTraits;
#endif
解説
現在のプロジェクトがマルチスレッドの CRT を使用している場合、DefaultThreadTraits は CRTThreadTraits として定義されます。 それ以外の場合は、Win32ThreadTraits が使用されます。
要件
ヘッダー: atlbase.h
LPURL
CUrl オブジェクトへのポインター。
typedef CUrl* LPURL;
要件
ヘッダー: atlutil.h