ATL Typedef

活动模板库包括以下 typedef。

Typedef 说明
_ATL_BASE_MODULE 定义为基于数据类型的 typedef _ATL_BASE_MODULE70
_ATL_COM_MODULE 定义为基于数据类型的 typedef _ATL_COM_MODULE70
_ATL_MODULE 定义为基于数据类型的 typedef _ATL_MODULE70
_ATL_WIN_MODULE 定义为基于数据类型的 typedef _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

定义为基于数据类型的 typedef _ATL_BASE_MODULE70。

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

定义为基于数据类型的 typedef _ATL_COM_MODULE70。

typedef ATL::_ATL_COM_MODULE70 _ATL_COM_MODULE;

备注

由使用 COM 功能的 ATL 项目使用。 基于 _ATL_COM_MODULE70

要求

标头: atlbase.h

_ATL_MODULE

定义为基于数据类型的 typedef _ATL_MODULE70。

typedef ATL::_ATL_MODULE70 _ATL_MODULE;

要求

头:

备注

基于 _ATL_MODULE70

_ATL_WIN_MODULE

定义为基于数据类型的 typedef _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

备注

根据应用程序使用的线程typedefCComGlobalsThreadModel模型,名称引用 CComSingleThreadModelCComMultiThreadModel。 这些类提供其他 typedef 名称以引用关键节类。

注意

CComGlobalsThreadModel 不引用类 CComMultiThreadModelNoCS

使用 CComGlobalsThreadModel 可让你指定特定的线程模型类。 无论使用何种线程模型,都将调用相应的方法。

除了 ,CComGlobalsThreadModelATL 还提供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

LPCURL

指向恒定 曲线 对象的指针。

typedef const CUrl* LPCURL;

要求

标头: atlutil

DefaultThreadTraits

默认的线程特征类。

语法

#if defined(_MT)
   typedef CRTThreadTraits DefaultThreadTraits;
#else
   typedef Win32ThreadTraits DefaultThreadTraits;
#endif

备注

如果当前项目使用多线程 CRT,则将 DefaultThreadTraits 定义为 CRTThreadTraits。 否则,将使用 Win32ThreadTraits。

要求

标头: atlbase。h

LPURL

指向 曲线 对象的指针。

typedef CUrl* LPURL;

要求

标头: atlutil

另请参阅

ATL COM 桌面组件
函数
全局变量
类和结构