0

我正在编写一个 ISAPI 扩展。主 DLL 依赖于其他几个 DLL。我把它们都放在同一个路径上,它可以工作。问题是:为什么?

AFAIK Windows 应该在 .exe 文件夹(对于 w3wp.exe 类似于 C:\Windows\SysWOW64\inetsrv)和当前路径(相同)中查找库,但绝对不在 ISAPI 扩展的目录中DLL 本身放置。所以让我感到困扰的是,我不明白为什么某些东西几乎可以工作,就好像它不起作用:) IIS 是做什么的?修改 PATH,调用 SetDllDirectory() 还是其他?

4

1 回答 1

1

这可能取决于 IIS 如何调用 LoadLibrary(Ex) 来加载您的 ISAPI DLL。

他们很可能正在使用 LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 标志或类似标志调用LoadLibraryEx 。

于 2013-01-10T07:32:25.437 回答