我使用节点ffi模块调用我自己dll中的本机windows函数。我的dll依赖于位于同一目录中的其他一些第三方dll。
THe问题是在加载dll之后,当调用
var myfunc = ffi.Library("myLibrary", {"test":["string",["string"]]})它无法找到myLibrary所依赖的第三方dll,尽管它们位于同一个目录中。我试图在这行之前调用setDllDirectory,方法如下:
var setdl = ffi.Library("kernel32", {'SetDllDirectory':["bool",["string"]]})然后打电话给塞德尔。但是,在其上方的setdl行中有一个错误:
Uncaught Error: Dynamic Symbol Retrieval Error: Win32 error 127(…)我怎么才能解决这个问题?
发布于 2017-01-26 08:45:25
错误127是ERROR_PROC_NOT_FOUND (“找不到指定的过程”)。
SetDllDirectory()函数有两个版本:
SetDllDirectoryA。SetDllDirectoryW。DLL不导出实际名为SetDllDirectory()的函数,因此出现错误。相反,它导出了另外两个函数。
此信息在文档中说明。

https://stackoverflow.com/questions/41869463
复制相似问题