AfxLoadLibrary

HINSTANCE AFXAPI AfxLoadLibrary( LPCTSTR lpszModuleName );

返回值:
如果函数成功执行,返回值为模块的句柄。如果函数执行失败,返回值为NULL。

参数:
lpszModuleName指向一个以null结尾的字符串,其中包含了模块的名字(DLL或EXE文件)。指定的名字为模块的文件名。
如果该字符串指定了一个路径但是在指定的目录中不存在该文件,这个函数执行失败。
如果没有指定路径并且省略了文件的扩展名,将会附加缺省的扩展名.DLL。但是,文件名字符串可以在尾部包含一个点字符(.),用以指示模块名没有扩展名。如果没有指定路径,这个函数将按如下顺序搜索文件:
·应用程序的启动路径。
·当前目录。
·Windows 95:Windows系统目录。Windows NT: 32位Windows系统目录。目录的名字为SYSTEM32.
·仅适用于Windows NT:16位Windows系统目录。没有Win32函数可以获得这个目录的路径,但是将会搜索这个目录。这个目录的名字是SYSTEM。
·Windows 目录。
·在PATH环境变量中列出的路径。

说明:
使用AfxLoadLibrary来载入一个DLL模块。它返回一个句柄,可被用于GetProcAddress以获得DLL函数的地址。AfxLoadLibrary还可以用来载入其它可执行模块。
每个进程都为载入的库模块维护这一个引用计数。这个引用计数在调用AfxLoadLibrary时增加,而在调用AfxFreeLibrary时减小。当引用计数减小到零时,该模块就被从调用进程的地址空间中移去,句柄也不再有效。
如果你使用多线程,确保你使用AfxLoadLibrary和AfxFreeLibrary(而不是Win32函数LoadLibrary和FreeLibrary)。当调入或卸载扩展DLL时使用AfxLoadLibrary和AfxFreeLibrary来启动和关闭执行代码可以保证MFC的全局状态不被破坏。

请参阅:AfxFreeLibrary