为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_STATEAfxGetStaticModuleState所述。)

AFX_MANAGE_STATE 宏激活和停用激活上下文。AFX_MANAGE_STATE 为静态 MFC 库,以及 MFC DLL 启用,使 MFC 代码在用户 DLL 选择适当的激活上下文执行。

请参见

参考

Activation Contexts

Application Manifests

Assembly Manifests

AfxWinInit

AfxGetStaticModuleState

AFX_MANAGE_STATE