0

私は、ISAPI dll ファイル/Web サービスを使用してファイルを生成するプロジェクトに取り組んでいます。以前は、ファイルの保存場所としてハードコードされた場所を使用していましたが、うまくいきました。現在、指定されたテキスト ファイル内に保存されている場所と交換しようとしています。

私が抱えている問題は、IIS ワーカー プロセス 'C:\Windows\SysWOW64\inetsrv' の現在のパスを、テキスト ファイル内に保存する場所情報の先頭に追加しているように見えることです。これが私のコードによるものなのか、IIS 7 サーバーの設定によるものなのかわかりません。誰かが私を正しい方向に向けることができますか?

どうもありがとう。

4

2 に答える 2

0

これは直接的な答えではありませんが、正しい方向に進む可能性があります。http://xxm.sf.net/プロジェクトに取り組んでいると、ISAPI dll 内から現在のディレクトリ (プロセス用) を設定できることがわかりました。inetinfo.exe/dllhost.exe/w3wp.exe (または IIS が ISAPI を呼び出すために使用するその他のプロセス) は気にせず、正常に動作し続けているようです。

于 2013-01-16T20:14:15.280 に答える
0

MSDNで SetDllDirectory を使用する必要があると思います

SetDllDirectory を呼び出した後、標準の DLL 検索パスは次のようになります。

  1. アプリケーションのロード元のディレクトリ。
  2. lpPathName パラメーターで指定されたディレクトリ。
  3. システム ディレクトリ。GetSystemDirectory 関数を使用して、このディレクトリのパスを取得します。このディレクトリの名前は System32 です。
  4. 16 ビット システム ディレクトリ。このディレクトリのパスを取得する機能はありませんが、検索されます。このディレクトリの名前は System.
  5. Windows ディレクトリ。GetWindowsDirectory 関数を使用して、このディレクトリのパスを取得します。
  6. PATH 環境変数にリストされているディレクトリー。
于 2013-01-16T18:21:37.623 に答える