ATL Module 类

本主题讨论 ATL 7.0 中新增的模块类。

CComModule 替换类

早期版本的 ATL 使用 CComModule。 在 ATL 7.0 中,CComModule 功能被几个类取代:

  • CAtlBaseModule 包含大多数使用 ATL 的应用程序所需的信息。 包含模块的 HINSTANCE 和资源实例。

  • CAtlComModule 包含 ATL 中 COM 类所需的信息。

  • CAtlWinModule 包含 ATL 中的窗口类所需的信息。

  • CAtlDebugInterfacesModule 包含对接口调试的支持。

  • CAtlModule 将自定义以下派生自 CAtlModule 的类以包含特定应用程序类型所需的信息。 这些类中的大多数成员都可以被覆盖:

CComModule 仍可用于向后兼容。

分发 CComModule 功能的原因

CComModule 的功能被分配到几个新的类中,原因如下:

  • 细化 CComModule 中的功能。

    对 COM、窗口、接口调试和特定于应用程序(DLL 或 EXE)功能的支持现在属于单独的类。

  • 自动声明每个模块的全局实例。

    所需模块类的全局实例链接到项目中。

  • 无需再调用 Init 和 Term 方法。

    Init 和 Term 方法已移至模块类的构造函数和析构函数中;不再需要调用 Init 和 Term。

另请参阅

概念
类概述