ATL模块选件类
本主题讨论的新增ATL 7.0的模块选件类。
CComModule替换选件类
ATL的早期版本使用的 CComModule。在ATL 7.0,CComModule 函数中几选件类替换为:
CAtlBaseModule 包含使用ATL的大多数应用程序需要的信息。包含模块和资源例程的HINSTANCE。
CAtlComModule 在ATL包含COM选件类需要的信息。
CAtlWinModule 在ATL包含多窗口选件类需要的信息。
CAtlDebugInterfacesModule 包含为接口调试支持。
CAtlModule 下面 CAtlModule派生类自定义在特定应用程序类型包含所需的信息。这些选件类的大多数成员可以重写:
CAtlDllModuleT 在DLL应用程序使用了。用于标准导出的代码。
CAtlExeModuleT 是EXE应用程序使用了。提供在EXE所需的代码。
CAtlServiceModuleT 提供支持创建Windows NT和Windows 2000 service。
CComModule 备向后兼容可用。
分配CComModule功能的原因
CComModule 的函数分配到下列原因的若干新的选件类:
使 CComModule 的功能更新。
用于COM,多窗口,接口调试支持,因此,应用程序特定的(DLL或EXE)功能现在是单独选件类。
将自动声明这些模块中的每一的全局实例个。
必需的模块选件类的全局实例链接到项目中。
移除调用Init和术语方法必要性。
Init和术语方法将构造函数和析构函数模块选件类的;不再需要调用Init和术语。