ivy*_*ike 6 wmi winapi device-driver visual-c++
有没有办法以编程方式在Windows上查找系统芯片组的北桥,南桥名称和其他硬件信息?我不认为WMI提供这些信息.我试图找出像hwinfo和cpuinfo这样的工具如何找到这些信息.
人们通常通过 WMI 执行此类操作,但它很多时候无法提供有用的信息,甚至提供“错误”信息,因为有时它依赖于来自 BIOS 的供应商填充信息(通过 SMBIOS),而这些信息经常为空或错误,而不是去与特定的硬件部分进行通信。
我以前也有过这样的经历来获取 RAM 信息。WMI 提供了错误的 BIOS 信息,并且我发现 RAM 芯片附带了一个特殊的 SPD(串行存在检测)芯片,我需要与之通信。最终我的雇主选择了 CPUID API。
CPU-Z作者在采访中谈到了这个话题:
http://www.techpowerup.com/mobile/reviews/Interviews/Franck_Delattre/1.html。
要获取这样的信息,您需要搜索如何通过驱动程序在内核模式下与 PCI 配置空间进行通信,或者寻找一些可以为您完成此操作的替代 API。
以下是我当时浏览过的一些链接:
http://www.codeproject.com/Articles/35378/Access-Physical-Memory-Port-and-PCI-Configuration
http://support.microsoft.com/?scid=kb;en-us;253232&x=3&y=13
http://www.hollistech.com/Resources/Misc%20articles/getbusdata.htm
http://www.osronline.com/showThread.CFM?link=176210#T4
另外,我认为值得一提的是 Windows 中的 SetupDi 函数,它有时能够提供 WMI 无法提供的信息。
归档时间: |
|
查看次数: |
2358 次 |
最近记录: |