Поделиться через


Определения типов ATL

Библиотека активных шаблонов включает следующие типдефы.

Typedef Description
_ATL_BASE_MODULE Определяется как типдифакт на основе _ATL_BASE_MODULE70.
_ATL_COM_MODULE Определяется как типдифакт на основе _ATL_COM_MODULE70.
_ATL_MODULE Определяется как типдифакт на основе _ATL_MODULE70.
_ATL_WIN_MODULE Определяется как типдифакт на основе _ATL_WIN_MODULE70
ATL_URL_PORT Тип, используемый CUrl для указания номера порта.
CComDispatchDriver Этот класс управляет указателями интерфейса COM.
CComGlobalsThreadModel Вызывает соответствующие методы модели потоков независимо от используемой модели потоков.
CComObjectThreadModel Вызывает соответствующие методы модели потоков независимо от используемой модели потоков.
CContainedWindow Этот класс является специализацией CContainedWindowT.
CPath Специализация CPathT с помощью CString.
CPathA Специализация CPathT с помощью CStringA.
CPathW Специализация CPathT с помощью CStringW.
CSimpleValArray Представляет массив для хранения простых типов.
DefaultThreadTraits Класс признаков потоков по умолчанию.
LPCURL Указатель на постоянный объект CUrl .
LPURL Указатель на объект CUrl .

_ATL_BASE_MODULE

Определяется как типдифакт на основе _ATL_BASE_MODULE70.

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 ATL::_ATL_COM_MODULE70 _ATL_COM_MODULE;

Замечания

Используется проектами ATL, которые используют функции COM. На основе _ATL_COM_MODULE70.

Требования

Заголовок: atlbase.h

_ATL_MODULE

Определяется как типдифакт на основе _ATL_MODULE70.

typedef ATL::_ATL_MODULE70 _ATL_MODULE;

Требования

Заголовок.

Замечания

На основе _ATL_MODULE70.

_ATL_WIN_MODULE

Определяется как типдифакт на основе _ATL_WIN_MODULE70.

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 имя ссылается на CComSingleThreadModel или CComMultiThreadModelCComGlobalsThreadModel. Эти классы предоставляют дополнительные typedef имена для ссылки на критически важный класс раздела.

Примечание.

CComGlobalsThreadModel не ссылается на класс CComMultiThreadModelNoCS.

Использование CComGlobalsThreadModel освобождает вас от указания определенного класса модели потоков. Независимо от используемой модели потоков, будут вызываться соответствующие методы.

Кроме того CComGlobalsThreadModel, ATL предоставляет typedef имя CComObjectThreadModel. Класс, на который ссылается каждый из них 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 имя ссылается на CComSingleThreadModel или CComMultiThreadModelCComObjectThreadModel. Эти классы предоставляют дополнительные typedef имена для ссылки на критически важный класс раздела.

Примечание.

CComObjectThreadModel не ссылается на класс CComMultiThreadModelNoCS.

Использование CComObjectThreadModel освобождает вас от указания определенного класса модели потоков. Независимо от используемой модели потоков, будут вызываться соответствующие методы.

Кроме того CComObjectThreadModel, ATL предоставляет typedef имя CComGlobalsThreadModel. Класс, на который ссылается каждый из них 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

Специализация CPathT с помощью CString.

typedef CPathT<CString> CPath;

Требования

Заголовок: atlpath.h

CPathA

Специализация CPathT с помощью CStringA.

typedef CPathT<CStringA> CPathA;

Требования

Заголовок: atlpath.h

CPathW

Специализация CPathT с помощью CStringW.

typedef ATL::CPathT<CStringW> CPathW;

Требования

Заголовок: atlpath.h

CSimpleValArray

Представляет массив для хранения простых типов.

#define CSimpleValArray CSimpleArray

Замечания

CSimpleValArray предоставляется для создания массивов и управления ими, содержащих простые типы данных. Это простой #define CSimpleArray.

Требования

Заголовок: 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 Desktop
Функции
Глобальные переменные
Классы и структуры
Макросы