2017-01-26 2 views
1

私は自分のdllにあるネイティブウィンドウ関数を呼び出すためにノードffiモジュールを使用しています。私のdllは、同じディレクトリにある他のサードパーティのdllに依存しています。ノードffiを使用してsetDllDirectoryを呼び出す

問題は、それは彼らが同じディレクトリにあるもののMYLIBRARYが依存するサードパーティのDLLを見つけることができません

var myfunc = ffi.Library("myLibrary", {"test":["string",["string"]]}) 

を呼び出すときに、DLLをロードした後に私に呼ばということです。私はこれを行うことによってこの行の前にsetDllDirectoryを呼び出そうとしました:

var setdl = ffi.Library("kernel32", {'SetDllDirectory':["bool",["string"]]}) 

そして次にsetdlを呼び出します。しかし、それ自体のsetdl行にエラーが表示されます。

Uncaught Error: Dynamic Symbol Retrieval Error: Win32 error 127(…) 

これはどのように修正できますか?

答えて

4

エラー127はERROR_PROC_NOT_FOUNDです(「指定された手順が見つかりませんでした」)。 ANSIのための

  • SetDllDirectoryA

    SetDllDirectory()機能の2つのバージョンがあります。

  • SetDllDirectoryW(Unicode用)

DLLは、実際にSetDllDirectory()という名前の関数をエクスポートしないため、エラーが発生します。代わりに2つの他の関数をエクスポートします。

この情報はdocumentationに記載されています

image

関連する問題