术语 | AFX::EXTENSION_MODULE | ||||||||||||||
释义 | AFX_EXTENSION_MODULE结构 AFX_EXTENSION_MODULE 结构具有如下形式: struct AFX_EXTENSION_MODULE { BOOL bInitialized; HMODULE hModule; HMODULE hResource; CRuntimeClass* pFirstSharedClass; COleObjectFactory* pFirstSharedFactory; };AFX_EXTENSION_MODULE 被用在MFC扩展DLL的初始化过程中,用于保存扩展DLL模块的状态。 成员:
注释: MFC扩展DLL需要在它们的DllMain函数中做两件事情:
static AFX_EXTENSION_MODULE extensionDLL; extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID) { // 初始化这个DLL的扩展模块 VERIFY(AfxInitExtensionModule(extensionDLL, hInstance)); } AFX_EXTENSION_MODULE结构中保存的模块信息可以被拷贝到CDynLinkLibrary对象中。例如: // CDynLinkLibrary 类 IMPLEMENT_DYNAMIC(CDynLinkLibrary, CCmdTarget) // 构造函数 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE& state, BOOL bSystem) { #ifndef _AFX_NO_OLE_SUPPORT m_factoryList.Construct(offsetof(COleObjectFactory, m_pNextFactory)); #endif m_classList.Construct(offsetof(CRuntimeClass, m_pNextClass)); // 从AFX_EXTENSION_MODULE结构中拷贝信息 ASSERT(state.hModule != NULL); m_hModule = state.hModule; m_hResource = state.hResource; m_classList.m_pHead = state.pFirstSharedClass; #ifndef _AFX_NO_OLE_SUPPORT m_factoryList.m_pHead = state.pFirstSharedFactory; #endif m_bSystem = bSystem; } 请参阅: AfxInitExtensionModule, AfxTermExtensionModule |
||||||||||||||
随便看 |
|
MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。