ATL 向导添加的 ATL 支持的详细信息
当向已有 MFC 可执行文件或 DLL 添加 ATL 支持时,Visual C++ 对现有 MFC 项目做如下修改(此例中,项目称为 MFCEXE):
添加两个新文件(.idl 文件和 .rgs 文件,用于注册服务器)。
在主应用程序头文件和实现文件(Mfcexe.h 和 Mfcexe.cpp)中添加一个新类(从 CAtlMFCModule 导出)。除了此新类外,还向 InitInstance 中添加注册用的代码。还向 ExitInstance 函数中添加用于撤消类对象的代码。最后,在实现文件中包括头文件中的两个新头文件(Initguid.h 和 Mfcexe_i.c),声明并初始化 CAtlMFCModule 导出类的新 GUID。
为正确注册服务器,向项目的资源文件中添加新 .rgs 文件的项。
DLL 项目注意事项
向 MFC DLL 项目添加 ATL 支持时,将会发现有些差异。向 DLLRegisterServer 和 DLLUnregisterServer 函数中添加用于注册和注销 DLL 的代码。还向 DllCanUnloadNow 和 DllGetClassObject 中添加代码。