windows下pci 内存映射的空间内容如何读取

cnyfk 2016-06-06 01:00:54
pci 配置的BAR寄存器中存放了内存映射的基地址(不是IO映射),我想通过软件来直接读取内容,请问WINDOWS下用什么API可以实现?
...全文
1291 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hd378 2016-06-22
  • 打赏
  • 举报
回复
楼主问的应该是读取基地址的值,而不是映射基地址,楼上的回答都不正确。要读取基地址的值, 如果是在驱动中,可以直接用端口读写(READ_PORT_UCHAR等函数)来访问PCI配置空间获取,也可以给底层驱动发IRP获取,MinorFunction设置为IRP_MN_READ_CONFIG,就可以读取设备的PCI配置空间寄存器 如果是在应用程序中,需要调用设备管理器相关函数来枚举设备和设备的资源信息,具体用到的函数有 SetupDiGetClassDevs SetupDiEnumDeviceInfo SetupDiGetDeviceRegistryProperty 等等。
  • 打赏
  • 举报
回复
MmMapIoSpace,也可以CreateFile操作\Device\PhysicalMemory,都需要一定的权限,没有仔细研究。
lm_whales 2016-06-07
  • 打赏
  • 举报
回复
你也可以直接读写试试,不行的话,再开驱动
lm_whales 2016-06-07
  • 打赏
  • 举报
回复
开驱动,映射地址就可以了

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧