LoadLibraryW失败,出现122 ERROR_INSUFFICIENT_BUFFER

时间:2014-09-08 12:30:15

标签: c++ c dll loadlibrary

LoadLibrary有使用最大~260个字符的路径的限制。 LoadLibraryW应该能够从较大的路径加载DLL,但我的测试失败,错误代码为122 ERROR_INSUFFICIENT_BUFFER,错误消息“传递给系统调用的数据区域太小。”

对于win32,LoadLibraryW失败,但如果路径长于260个字符,则成功获得win64。

win32,win64 LoadLibraryW都适用于短于260个字符的路径。

可以解释一下win32长路径上LoadLibraryW的失败吗?有其他人遇到过这个问题吗? 我应该如何从比MAX_PATH~ = 260 chars?

更长的路径加载win32 DLL

我的目标是从更长的路径加载win32 DLL。

代码: LoadLibraryW(L"\\\\?\\C:\\Users\\adrian\\Desktop\\teste\\2352Debug\\testLoadW\\1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\\test.dll")

测试条件:windows 7,test.dll是一个虚拟DLL

0 个答案:

没有答案