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

解説

アプリケーションで使用されるスレッド モデルに応じて、typedefCComGlobalsThreadModel は、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

解説

アプリケーションで使用されるスレッド モデルに応じて、typedefCComObjectThreadModel は、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

関連項目

ATL COM デスクトップ コンポーネント
関数
グローバル変数
クラスと構造体
マクロ