0

ISAPI 拡張機能を作成しています。メイン DLL は、他のいくつかの DLL に依存しています。それらをすべて同じパスに配置すると、機能します。問題は、なぜですか?

私の知る限り、Windowsは.exeフォルダー(w3wp.exeのC:\ Windows\SysWOW64\inetsrvのようなもの)と現在のパス(同じ)でライブラリを検索する必要がありますが、ISAPI拡張が存在するディレクトリでは絶対に検索しないでください。 DLL 自体を配置します。そのため、何かがほとんど機能していないかのように機能する理由が理解できないのが気になります:) IISは何をしますか? PATH を変更し、SetDllDirectory() などを呼び出しますか?

4

1 に答える 1

1

IISがLoadLibrary(Ex)を呼び出してISAPIDLLをロードする方法に依存する可能性があります。

LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRフラグまたは同様のフラグを使用してLoadLibraryExを呼び出している可能性があります。

于 2013-01-10T07:32:25.437 に答える