通过C获取BIOS信息的常用方式

发布于 2024-08-04 21:11:41 字数 106 浏览 4 评论 0原文

阅读一些内容后,我似乎可以映射 SMBIOS 内存并解析它。 我不知道该怎么做。 我无法使用任何托管代码,因为我希望它可以在任何操作系统下编译。

有谁有任何代码示例如何解决这个问题?

After reading some stuff it seems I can map the SMBIOS memory and parse it.
I have no idea on how to go about this.
I can't use any managed code as I would like this to be compilable under any OS.

Does anyone have any code examples how to go about this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

谁把谁当真 2024-08-11 21:11:41

在大多数系统上,它没有映射到用户模式可访问的内存中,因此您需要调用一些系统API。

在 Windows 上,您可以调用 GetSystemFirmwareTable

On most systems, it is not mapped into user-mode accessible memory, so you need to call some system API.

On Windows, you can call GetSystemFirmwareTable.

倾其所爱 2024-08-11 21:11:41

对于 Linux,我想你应该看看 dmidecode 源代码 ( GPL)用于具体代码...

使用和解析 dmidecode 输出可能就是您所需要的...

For Linux I guess you should have a look at the dmidecode source (GPL) for concrete code...

Using and parsing dmidecode output may be all you need...

兰花执着 2024-08-11 21:11:41

我编写了一个可重用的类来读取所有 SMBIOS 内容。

它是非常干净的代码,具有适当的错误处理并且易于扩展。
您可以从此类派生一个类,该类使用解析的数据来显示它或对其执行任何您想要的操作。

您还可以在代码注释中找到实际 SMBios 文档的链接。

你可以到我的主页下载:
ftp://ftp.netcult.ch/mirror/elmue/SMBiosClass.zip

埃尔穆埃

I wrote a reusable class to read all the SMBIOS stuff.

It is very clean code with a proper error handling and easy to extend.
You can derive a class from this class that uses the parsed data to display it or do whatever you want with it.

You find also a link to the actual SMBios documentation in the code's comments.

You can download it from my homepage:
ftp://ftp.netcult.ch/mirror/elmue/SMBiosClass.zip

Elmue

痞味浪人 2024-08-11 21:11:41

如果您可以运行 DOS 程序(例如 32 位 Windows),它将映射到 f000:f000
否则,您需要找到一种自己映射的方法或找到一个 API 来帮助您(如之前的帖子中所建议的)。

if you can run DOS programs (e.g. 32-bit Windows) it is mapped to f000:f000
Otherwise, you would need to figure out a way to map it yourself or find an API to help you (as suggested in previous posts).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文