0

DBGHELP.DLL を呼び出す P/Invoke コードがあります。署名は後で pinvoke.net に追加します。

Windows 2003 に同梱されている DBGHELP.DLL のバージョンは古すぎます。私のコードには、「Debugging Tools for Windows」バージョン 6.9 に同梱されている DBGHELP.DLL のバージョンが必要です。

次のいずれかを行うにはどうすればよいですか?

  • DllImport に最小バージョンが必要であることを確認してください。
  • 読み込まれる DLL を見つけて、そのバージョン番号を取得します。FileVersionInfo を使用する必要がありますが、P/Invoke が使用する検索順序を確認するにはどうすればよいですか?

つまり、FileVersionInfo を使用して最小バージョン情報をチェックする堅牢なコードを持っている人はいますか?

4

2 に答える 2

1

必要な DBGHELP の明示的なパスを使用して LoadLibrary への呼び出しを P/Invoke します。これにより、実際の P/Invoke 呼び出しを行うときに、DLL が既に読み込まれます。

于 2008-12-15T21:44:28.883 に答える
0

DbgHelp.DLL バージョン 6.9 以降にのみ存在する関数をインポートする (呼び出すのではなく) 方が簡単ではないでしょうか?

于 2008-12-16T12:15:29.920 に答える