0

我有一些调用 DBGHELP.DLL 的 P/Invoke 代码。稍后我会将签名添加到 pinvoke.net。

Windows 2003 附带的 DBGHELP.DLL 版本太旧,我的代码需要“Windows 调试工具”版本 6.9 附带的 DBGHELP.DLL 版本。

如何执行以下操作之一?

  • 确保 DllImport 需要最低版本。
  • 找出将加载哪个 DLL,然后获取其版本号。我需要使用 FileVersionInfo,但是如何找出 P/Invoke 将使用的搜索顺序?

也就是说:是否有人拥有使用 FileVersionInfo 来检查最低版本信息的健壮代码?

4

2 回答 2

1

使用您想要的 DBGHELP 的显式路径 P/Invoke 对 LoadLibrary 的调用,这样当您进行实际的 P/Invoke 调用时,DLL 将已经被加载。

于 2008-12-15T21:44:28.883 回答
0

导入(但不调用)仅存在于 DbgHelp.DLL 6.9 及更高版本中的函数不是更容易吗?

于 2008-12-16T12:15:29.920 回答