阅读:1086回复:3
16位API调用32位DLL的疑问(Loadlibraryex32w)
我需要调用一个32位的DLL,
我使用的是LoadlibraryEx32W(),GetProcAddressEx32W()... DWORD FAR PASCAL LoadLibraryEx32W(LPCSTR lpszLibFile, DWORD hFile, DWORD dwFlags); short WINAPI Control(lpdv, function, lpInData, lpOutData) { HMODULE ghdll=NULL; //reference to the dll ………….. if(ghdll==NULL) { ghdll=LoadLibraryEx32W(\"letest.dll\",NULL,0); } GetLastError(); //Result: Error Code =6; // ghdll = NULL 请问是什么问题? 还有就是在2K下 调用同样的DLL(使用Loadlibrary()...), ghdll=LoadLibrary(\"letest.dll\"); GetLastError(); //Result: Error Code =2; // ghdll ≠ NULL 这又是为什么? 谢谢 |
|
沙发#
发布于:2003-05-15 19:08
我需要调用一个32位的DLL, 先催帐一下 PATH_NAME \"letest.dll\", 保胝起 |
|
板凳#
发布于:2003-05-16 10:01
首先谢谢你的回答。
我试过将完整的路径写在程序中(即c:\\\\xxxx\\\\xxx.dll) 但是结果是一样的。 我尝试LOAD其他的32位DLL文件时,LoadLibraryEx32W()操作的系统报错不一样(Error code不一样),根据不同的DLL文件。 在WIN2K下 我写了一个32位的只调用这个DLL的小程序,调用是成功的。 但是当定义了UNICODE后,调用不成功,返回的ERROR CODE为6。 注:这个*.dll不是我自己写的,是调用别人写的。 请问可能是那出了问题 |
|
地板#
发布于:2003-05-16 10:44
首先谢谢你的回答。 I see! 你要建立 (.DEF) file 在 APP16 上, |
|