设置ISAPI dll文件创建的路径

时间:2013-01-16 17:06:08

标签: web-services delphi iis dll isapi

我正在开发一个项目,我使用ISAPI DLL文件/ Web服务来生成文件。我以前使用硬编码的位置来存储文件的位置,这很好,我现在尝试将其与存储在指定文本文件中的位置交换。

我遇到的问题是它似乎将IIS工作进程'C:\ Windows \ SysWOW64 \ inetsrv'的当前路径附加到我存储在文本文件中的位置信息的开头。我不确定这是否属于我的代码或IIS 7服务器设置?有人能指出我正确的方向吗?

非常感谢。

2 个答案:

答案 0 :(得分:0)

我认为你必须在MSDN

中使用SetDllDirectory

调用SetDllDirectory后,标准DLL搜索路径为:

  1. 加载应用程序的目录。
  2. lpPathName参数指定的目录。
  3. 系统目录。使用GetSystemDirectory函数来获取 此目录的路径。此目录的名称是System32。
  4. 16位系统目录。没有功能可以获得 此目录的路径,但它被搜索。该目录的名称是System。
  5. Windows目录。使用GetWindowsDirectory函数获取此目录的路径。
  6. PATH环境变量中列出的目录。

答案 1 :(得分:0)

这不是一个直接的答案,但可能会让你朝着正确的方向前进。在http://xxm.sf.net/项目上工作,我发现您可以从ISAPI dll中set the current directory(针对该过程)。似乎inetinfo.exe / dllhost.exe / w3wp.exe(或IIS用于调用您的ISAPI的任何其他进程)并不介意并保持正常运行。