在阅读了一些东西之后,我似乎可以映射 SMBIOS 内存并对其进行解析。我不知道该怎么做。我不能使用任何托管代码,因为我希望它可以在任何操作系统下编译。
有没有人有任何代码示例如何解决这个问题?
在大多数系统上,它不会映射到用户模式可访问的内存中,因此您需要调用一些系统 API。
在 Windows 上,您可以调用GetSystemFirmwareTable。
对于 Linux,我想您应该查看dmidecode 源代码(GPL) 以获取具体代码...
使用和解析 dmidecode 输出可能就是您所需要的...
我写了一个可重用的类来阅读所有 SMBIOS 的东西。
它是非常干净的代码,具有适当的错误处理并且易于扩展。您可以从此类派生一个类,该类使用已解析的数据来显示它或对它做任何您想做的事情。
您还可以在代码注释中找到指向实际 SMBios 文档的链接。
你可以从我的主页下载:ftp: //ftp.netcult.ch/mirror/elmue/SMBiosClass.zip
埃尔穆