佚名通过本文主要向大家介绍了windows无法安装pci,pci内存控制器驱动,pci内存控制器,pci内存,pci内存控制等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: windows下pci 内存映射的空间内容如何读取
描述:
解决方案1:
描述:
pci 配置的BAR寄存器中存放了内存映射的基地址(不是IO映射),我想通过软件来直接读取内容,请问WINDOWS下用什么API可以实现?
解决方案1:
楼主问的应该是读取基地址的值,而不是映射基地址,楼上的回答都不正确。要读取基地址的值,
如果是在驱动中,可以直接用端口读写(READ_PORT_UCHAR等函数)来访问PCI配置空间获取,也可以给底层驱动发IRP获取,MinorFunction设置为IRP_MN_READ_CONFIG,就可以读取设备的PCI配置空间寄存器
如果是在应用程序中,需要调用设备管理器相关函数来枚举设备和设备的资源信息,具体用到的函数有
SetupDiGetClassDevs
SetupDiEnumDeviceInfo
SetupDiGetDeviceRegistryProperty
等等。
MmMapIoSpace,也可以CreateFile操作\Device\PhysicalMemory,都需要一定的权限,没有仔细研究。
开驱动,映射地址就可以了