ATL Typedef

活动模板库包括以下 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 使用 CStringCPathT 的专用化。
CPathA 使用 CStringACPathT 的专用化。
CPathW 使用 CStringWCPathT 的专用化。
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 模块类

要求

标头:atlcom.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 引用 CComSingleThreadModelCComMultiThreadModel。 这些类提供其他 typedef 名称来引用关键节类。

注意

CComGlobalsThreadModel 不引用 CComMultiThreadModelNoCS 类。

使用 CComGlobalsThreadModel 可以让你不用指定特定线程模型类。 无论所使用哪种线程模型,都会调用相应的方法。

除了 CComGlobalsThreadModel,ATL 还提供 typedef 名称 CComObjectThreadModel。 每个 typedef 引用的类取决于使用的线程模型,如下表所示:

typedef 单线程处理 单元线程处理 免费线程处理
CComObjectThreadModel S S M
CComGlobalsThreadModel S M M

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 引用 CComSingleThreadModelCComMultiThreadModel。 这些类提供其他 typedef 名称来引用关键节类。

注意

CComObjectThreadModel 不引用 CComMultiThreadModelNoCS 类。

使用 CComObjectThreadModel 可以让你不用指定特定线程模型类。 无论所使用哪种线程模型,都会调用相应的方法。

除了 CComObjectThreadModel,ATL 还提供 typedef 名称 CComGlobalsThreadModel。 每个 typedef 引用的类取决于使用的线程模型,如下表所示:

typedef 单线程处理 单元线程处理 免费线程处理
CComObjectThreadModel S S M
CComGlobalsThreadModel S M M

S= CComSingleThreadModel;M= CComMultiThreadModel

在单个对象类中使用 CComObjectThreadModel。 在程序全局可用的对象中使用 CComGlobalsThreadModel,或者想要跨多个线程保护模块资源时使用。

要求

标头:atlbase.h

CContainedWindow

此类是 CContainedWindowT 的专用化。

typedef CContainedWindowT<CWindow> CContainedWindow;

要求

标头:atlwin.h

备注

CContainedWindowCContainedWindowT 的专用化。 如果你想要更改基类或特征,请直接使用 CContainedWindowT

CPath

使用 CStringCPathT 的专用化。

typedef CPathT<CString> CPath;

要求

标头:atlpath.h

CPathA

使用 CStringACPathT 的专用化。

typedef CPathT<CStringA> CPathA;

要求

标头:atlpath.h

CPathW

使用 CStringWCPathT 的专用化。

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 桌面组件
函数
全局变量
类和结构