AFX_MANAGE_STATE

AFX_MANAGE_STATE( AFX_MODULE_STATE* pModuleState )

参数:
pModuleState指向一个AFX_MODULE_STATE结构的指针。

说明:
调用这个宏以保护DLL中的引出函数。调用了这个宏以后,pModuleState 就是立即包含域的剩余部分的实际模块状态。在脱离作用域之前,原来的实际模块状态将被自动保存。
AFX_MODULE_STATE结构中包含了有关模块的全局数据,这是被push或pop的模块状态的一部分。
在缺省情况下,MFC利用主应用程序的资源句柄来载入资源模板。如果你在一个DLL中有一个输出函数,例如在DLL中启动一个对话框的函数,这个模板实际保存在DLL模块中。你需要为将要使用的正确的句柄切换模块状态。你可以在函数的开头加上如下代码以实现这个目的:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
这会交换当前模块的状态和AfxGetStaticModuleState返回的状态,直到当前作用域结束。
有关模块状态和MFC的更多信息请参见《Visual C++程序员指南》的“创建新的文档、窗口和视窗”中的“管理MFC模块的状态数据”,以及Visual C++联机文档中的“技术注释58”。

请参阅:AfxGetStaticModuleState