2 kikyou ghl kikyou_ghl 于 2016.04.07 20:29 提问

关于Loadlibrary的问题。

我用loardlibrary 加载一个dll 提示的错误是【122】-传递到系统调用的数据区太小。不怎么理解这个错误。用我用loardlibrary(hand,null,LOAD_WITH_ALTERED_SEARCH_PATH);也是同样的问题,有没有大神可以指点一下的。

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.08 04:54
已采纳

这个要看你的dll的文档,开发者首先应该提供你例子程序,并且这个例子是运行成功的,然后你才好照着写。

CSDNXIAOD
CSDNXIAOD   2016.04.07 20:44

LoadLibrary的路径问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

oyljerry
oyljerry   Ds   Rxr 2016.04.07 22:01

是不是系统内存不够了 还要就是dll是否依赖有问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VC++ 中LoadLibrary的路径问题
已有动态库A.dll, 创建动态库B.dll和C.exe 在B.dll中编写:LoadLibrary("A.dll") 在C.exe中编写:LoadLibrary("B.dll") 把A.dll和B.dll放到C.exe相同的目录,运行C.exe正常。 把A.dll和B.dll放到文件夹DLL中,在C.exe 中改为LoadLibrary(“DLL\B.dll”),运行失败。
关于Windows下做动态插件,需要用到的LoadLibrary的代码
有时候,代码中并不需要提前加载所有的dll,这时候可以选择使用LoadLibrary,GetProcAddress,FreeLibrary这三个函数来加载插件,而对应的插件部分编译成动态库。 适用场景:如各厂商的插件的时候 下面给出例子: main函数部分,负责获取路径,并通过LoadLibrary加载,然后GetProcAddress获取函数地址,然后FreeLibrary
LoadLibrary查找路径及相关问题解决
LoadLibrary失败    正常情况,在一个exe中LoadLibrary(DLL1)可以获得正常的结果;但是,当我们需要load的DLL1如果调用了其它的DLL2, 那么我们就会得到一个结果:The program can't start because ****.dll is missing from you computer. Try reinstalling the progr
LoadLibrary() 错误码问题 14001, 126
在bho中调用动态库,提示14001,126错误,分析如下 错误码14001:     因为应用程序的并行配置不正确。自己查看工程的属性,发现库的运行时库和DLL的运行时库的选项不一致,都改成/MD(调用库和被调用库都用release版本);   错误码126: 不知道为何,无论怎样写路径都找不到,最后将动态库路径加入到系统path中, 一切ok了; m_breastDLL = Loa
使用LoadLibrary函数装载一个DLL文件,没有指定文件路径,那么操作系统搜索DLL文件的策略如下
程序中调用LoadLibrary函数装载一个DLL文件,没有指定文件路径,那么Windows操作系统搜索DLL文件的顺序如下: MSDN中说得很明白: 1.The directory where the executable module for the current process is located.    进程的所在目录 2.The current directory. 
Loadlibrary 加载指定动态库失败的问题解决
这两天在帮公司的一个产品部门解决一个问题, 比较典型,记录一下。问题的背景如下: 该部门的一个测试人员通过install.exe 安装了自己部门的产品, 安装后发现, 出现了一些比较诡异的现象: 1.  直接在安装目录的bin目录下启动exe程序, 可以正常使用; 2.  通过快捷方式启动, 无法正常使用 3.  将对应的项目文件的默认打开程序设为该软件, 也无法正常使用。
[转]为什么在DllMain里不能调用LoadLibrary和FreeLibrary函数?
为什么在DllMain里不能调用LoadLibrary和FreeLibrary函数? MSDN里对这个问题的答案十分的晦涩。不过现在我们已经有了足够的知识来解答这个问题。 考虑下面的情况:        (a)DllB静态链接DllA        (b)DllB在DllMain里调用DllA的一个函数A1()        (c)DllA在DllMain里调用LoadLibr
C/C++ HOOK API(原理深入剖析之-LoadLibraryA)
9月都快结束了,之前一直忙到写自己的东西加上上班。基本没有时间研究下汇编和C C++方面的感兴趣的东西。再怎么说嘛,9月还是得写一篇撒,以后每月至少一篇吧。给自己定了,希望大家监督。嘿嘿!这篇文章就来谈谈平常很常见的HOOK技术,这里呢。写得比较简单,方法很多。只讲原理!希望大鸟们别吐我口水哈 - -。好!切入正题。首先是概念吧。什么是钩子(HOOK)? 钩子(Hook),是Win
关于 LoadLibrary
我们平常使用要Dll的导出函数是用的是LoadLibrary。然后再GetProcAddress取得函数的入口地址。LoadLibrary是在kernel32.dll中定义的。那么kernel32.dll是由谁来导入的呢? 显然不能用LoadLibrary,这是一个先有鸡还是先有蛋的问题。答案是使用Ntdll的导出函数 LdrLoadDll,然后再LdrGetProcedureAddres
dll动态加载,LoadLibrary和LoadLibraryEx的区别
如果一个dll存在其他dll依赖,且不再相同目录,则需要使用Ex接口 具体说来若DLL不在调用方的同一目录下,可以用LoadLibrary(L”DLL绝对路径”)加载。但若调用的DLL内部又调用另外一个DLL,此时调用仍会失败。解决办法是用LoadLibraryEx: LoadLibraryEx(“DLL绝对路径”, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);