LoadLibrary动态加载dll失败,GetLastError返回错误码126
问题描述
使用::LoadLibrary(sdkFullPath)动态加载海康dll,加载失败,GetLastError返回错误码126。
原因分析
错误码126表示没有找到指定模块,但是::LoadLibrary的参数sdk路径是正确的。
解决方案
最后使用::LoadLibraryEx(sdkFullPath,NULL, LOAD_WITH_ALTERED_SEARCH_PATH),没有出现错误。
LoadLibraryEx参数说明
lpLibFileName String,指定要载入的动态链接库的名称。采用与CreateProcess函数的lpCommandLine参数指定的同样的搜索顺序
LoadLibrary和LoadLibraryEx的区别
两个函数的主要区别是LoadLibraryEx多了个参数dwFlags,可以设定一些动态加载DLL时的选项。
一般来说,LoadLibraryEx加载DLL时并没有调用DLL,也就是不会执行DllMain,这样以来即使DLL本身存在错误也会映射成功的。
而LoadLibrary加载时不旦旦映射,还会去调用执行DllMain。
如果确认一个DLL本身不存在问题,但用LoadLibrary加载失败用LoadLibraryEx加载成功,此时一要看DllMain是否作出了某些限制,二要看DLL本身是否链接了其他DLL。
总结
还是没有太搞清楚使用LoadLibrary加载失败的详细原因,感觉是依赖的dll文件找不到,使用LoadLibraryEx可以遍历子目录找dll,所以成功了。
之后再看看这个问题,先放放,后续弄明白再更新。
参考
https://blog.csdn.net/cuglifangzheng/article/details/50580279
https://zhidao.baidu.com/question/204625991052212405.html
https://baike.baidu.com/item/LoadLibraryEx/9598009
转载于:https://www.cnblogs.com/huangsitao1024/p/10174034.html
LoadLibrary动态加载dll失败,GetLastError返回错误码126相关推荐
- 使用LoadLibrary动态加载DLL并使用其中的类
转载地址:https://blog.csdn.net/hetoby/article/details/51941921 动态加载DLL并使用其中的函数,是大家经常用到的,那么直接使用LoadLibrar ...
- C++的LoadLibrary动态加载dll
1.导出接口 //抽象类 class CDev {virtual bool Ex_OPenDev()=0;virtual bool Ex_OPenDev()=0;//.. }HRESULT Creat ...
- 【原】 动态加载dll
动态调用动态库步骤: 1.创建一个函数指针,其指针数据类型要与调用的DLL引出函数相吻合. 2.通过Win32 API函数LoadLibrary()显式的调用DLL,此函数返回DLL的实例句柄. 3. ...
- VC静态加载DLL和动态加载DLL
VC静态加载DLL和动态加载DLL 1. 静态加载DLL 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头 ...
- Unity3D的坑系列:动态加载dll
Unity3D的坑系列:动态加载dll 我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以 ...
- c# winform程序调用托管dll(c#的dll),使用添加引用和动态加载dll
1. dll要强名. 2. winform程序要添加引用dll(自动获得dll的函数调用定义),"复制本地"属性设false,因为下一步会动态加载dll,所以"复制本地& ...
- C#根据Debug、Release模式动态加载dll
//根据Debug.Release状态动态加载dll文件 #if (DEBUG) const string dllPathCamera = @" ...
- htmlimg图片加载失败_动态加载图片失败的默认图显示
经常碰到这类场景,动态加载图片时,因为一些原因(图片链接不存在啊,图片误删啊,图片路径不对或图片路径为空等等)导致真实图片显示不出来.那么为了提高用户体验,都会显示一个默认图. 动态加载图片失败时,显 ...
- bpl文件java,在LoadLibrary中动态加载BPL失败
我想在Delphi 10 Seattle(Update 1)或Delphi 10.1 Berlin项目(Enterprise版本)中动态加载BPL模块 . 但LoadPackage函数失败并显示消息( ...
- LoadLibrary无法加载.dll解决思路
动态载入DLL所需要的三个函数详解(LOADLIBRARY,GETPROCADDRESS,FREELIBRARY) dll, lib, h的区别 dll是动态库, 将其链接进工程, 一般用LoadLi ...
最新文章
- IOS开发网络第一天之06线程之间的通信
- 矩阵A对任意的可逆矩阵p都有Ap=pA,证明A为数量矩阵
- 登录不上_无法登录远程:出现身份验证错误,要求的函数不受支持
- IBASE save - my toolset investigation
- AI前沿线上大会,ALBERT一作、京东AI科学家等大咖亲临现场,限时免费,名额有限!...
- 大数据(7) - zookeeper的安装与使用
- 【使用Idea打包war包】
- DynamipsGUI使用入门
- Tcl语言入门(一)基本知识
- 《程序员修炼之道 - 从小工到专家》吐血解读
- Android+Opencv图形的形状颜色识别
- iOS面试 swift篇
- 软件工程大一学年简单的总结一下
- 隐私空间伪装计算机,隐私空间app(文件夹隐藏) 6.1.9 免root
- html img路径 404,webpack css背景图片无法现实,图片路径404
- Thymeleaf 是个什么?
- AIR780E系列教程目录
- Unity Steam_VR 开发工具插件 VRTK自带案例分析(第一部分)
- Spring5 里边的新玩法!这种 URL 请求让我涨见识了!
- opencv人脸识别-海康网络摄像头
热门文章
- Visual Studio Code 代理设置
- Semantic Parsing on Freebase from Question-Answer Pairs【论文笔记】
- 自动化运维原来如此简单之工具建设
- 从Trie树(字典树)谈到后缀树(10.28修订)
- Linux必会100个命令(三十八)halt
- DayDayUp:平均每篇文章1毛! 本博主自2020年6月1日起,如有任何问题可在博客贴吧留言或者私信博主(包括并不限于GUI软件编写、安装及编程语言中的bug、AI算法设计等),非诚勿扰!
- 陈越何欣铭老师数据结构PTA08-图8 How Long Does It Take
- 向量的点乘(内积、数量积)和叉乘(外积、向量积)
- GROMOS拓扑(、坐标、轨迹、能量)相关文件解读手册第5章阅读笔记II
- NIC不变量检测对抗样本