【问题标题】:C/C++ how read device memory range (BAR)?C/C++如何读取设备内存范围(BAR)?
【发布时间】:2012-03-15 14:10:45
【问题描述】:

我正在用 C++ 编写一个显示 PCI 设备信息的应用程序。

我一直在尝试读取设备内存范围(您可以从开发管理器中的设备属性中读取它,如下所示)

【问题讨论】:

标签: c++ windows memory range device


【解决方案1】:

这里的关键是“应用程序”。这很可能向您显示物理地址,这些地址(几乎可以肯定)未映射到您的应用程序的地址空间中。

您几乎需要使用某种设备驱动程序来查看该内存。我很确定我见过提供这种访问权限的驱动程序——似乎它在 DDK 中,但我记不清了。

【讨论】:

  • 我有连接到我的应用程序的驱动程序,但我认为可以从用户模式获取此信息。我不舒尔,但我想读写一切都可以做到。我已经能够从详细信息中读取信息(使用 setupapi.dll)
  • Windows没有直接访问硬件内存地址的API吗?
  • @Spidey:反正我不知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 2011-08-31
相关资源
最近更新 更多