Определения типов 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_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
Функции
Глобальные переменные
Классы и структуры
Макросы