Dhy*_*A.K 0 c++ windows dll winapi visual-c++
以下代码使用LoadLibrary()在运行时加载dll.
boolean Load_Internals_dll()
{
boolean result = true;
//LOG_INIT;
HINSTANCE hApexRLIO = LoadLibrary(L"APEX_RLIO_Internals.dll");
printf("Checking getlasterror after loadlibrary:\n",GetLastError());
if(NULL == hApexRLIO)
{
result = false;
printf("[ERR]: Unable to load dll\n");
LOG_PRINT(" [ERR]: Unable to load dll.\n" );
}
result = InitRSIDComm_Lib_Func();
//LOG_EXIT;
return result;
}
Run Code Online (Sandbox Code Playgroud)
加载dll后,发现句柄hApexRLIO不为空,但函数GetLastError()返回系统错误代码1627(执行期间函数失败).
可能是导致此错误的原因是什么?
这个错误代码在Web上没有太多文档,VC++十加仑头请帮我解决这个问题.
该文件说:
如果函数成功,则返回值是模块的句柄.
如果函数失败,则返回值为
NULL.要获取扩展错误信息,请致电GetLastError.
当函数成功时,返回值不是NULL.这是你的情景.GetLastError如果函数成功,文档不会保证会返回什么.一些Win32 API函数会SetLastError(ERROR_SUCCESS)在返回之前调用,但不是全部.这是一个没有的.
换句话说,没有错误.函数返回值表示成功,您不应该调用,GetLastError因为它返回的值是没有意义的.
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |