WEB开发网
开发学院软件开发VC MFC教程(9)-- MFC的进程和线程(2) 阅读

MFC教程(9)-- MFC的进程和线程(2)

 2010-03-25 20:35:05 来源:WEB开发网   
核心提示:_AFX_EXTENSION_MODULE在分析代码之前,先讨论描述扩展模块状态的_AFX_EXTENSION_MODULE类,MFC教程(9)-- MFC的进程和线程(2)(6),_AFX_EXTENSION_MODULE没有基类,其定义如下:struct AFX_EXTENSION_MODULE{BOOL bIni

_AFX_EXTENSION_MODULE

在分析代码之前,先讨论描述扩展模块状态的_AFX_EXTENSION_MODULE类。_AFX_EXTENSION_MODULE没有基类,其定义如下:

struct AFX_EXTENSION_MODULE

{

BOOL bInitialized;

HMODULE hModule;

HMODULE hResource;

CRuntimeClass* pFirstSharedClass;

COleObjectFactory* pFirstSharedFactory;

};

其中:

第一个域表示该结构变量是否已经被初始化了;

第二个域用来保存扩展DLL的模块句柄;

第三个域用来保存扩展DLL的资源句柄;

第四个域用来保存扩展DLL要输出的CRuntimeClass类;

第五个域用来保存扩展DLL的OLE Factory。

该结构用来描述一个扩展DLL的模块状态信息,每一个扩展DLL都要定义一个该类型的静态变量,例如extensionDLL。

在DllMain中,调用AfxInitExtensionModule函数来初始化本DLL的静态变量该变量(扩展模块状态),如extensionDLL。函数AfxInitExtensionModule原型如下:

BOOL AFXAPI AfxInitExtensionModule(

AFX_EXTENSION_MODULE& state, HMODULE hModule)

其中:

参数1是DllMain传递给它的扩展DLL的模块状态,如extensionDLL;

参数2是DllMain传递给它的模块句柄。

上一页  1 2 3 4 5 6 7 8 9 10 11  下一页

Tags:MFC 教程 MFC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接