为MFC模块状态的激活上下文支持
MFC 创建激活上下文使用用户模块提供的清单资源。有关激活上下文方式的更多信息后,请参见以下主题:
备注
在读取这些 Windows SDK 主题时,请注意 MFC 起始上下文结构类似于 Windows SDK 激活上下文,但 MFC 不使用 Windows SDK 激活上下文 API。
激活上下文在 MFC 应用程序、用户 DLL 和扩展 DLL 以下方式工作:
MFC 应用程序为清单资源使用资源 ID 1。在这种情况下, MFC 不创建自己的激活上下文,但是,使用默认应用程序上下文。
MFC 用户 DLL 使用它们的清单资源的资源 ID 2。此处, MFC 创建每个用户 DLL 的激活上下文,因此,其他用户 DLL 中使用相同的库 (例如,公共控件库) 的不同版本。
MFC 扩展 DLL 要借助承载的应用程序或用户 DLL 建立其激活上下文。
尽管开始上下文状态进行修改使用过程介绍 Using the Activation Context API下,使用 MFC 起始上下文结构非常有用,在开发不是简单的基于 DLL 的插件结构 (或者不可能) 对手动切换启动状态,在单独调用外部插件前后。
激活上下文在 AfxWinInit创建。它在 AFX_MODULE_STATE 析构函数被销毁。启动上下文句柄在 AFX_MODULE_STATE保留。(AFX_MODULE_STATE 在 AfxGetStaticModuleState所述。)
AFX_MANAGE_STATE 宏激活和停用激活上下文。AFX_MANAGE_STATE 为静态 MFC 库,以及 MFC DLL 启用,使 MFC 代码在用户 DLL 选择适当的激活上下文执行。