Распространенный способ получить информацию о BIOS через C

StackOverflow https://stackoverflow.com/questions/1402388

  •  05-07-2019
  •  | 
  •  

Вопрос

Прочитав кое-что, кажется, я могу сопоставить память SMBIOS и проанализировать ее.Я понятия не имею, как это сделать.Я не могу использовать какой-либо управляемый код, так как хочу, чтобы его можно было компилировать под любой ОС.

Есть ли у кого-нибудь примеры кода, как это сделать?

Это было полезно?

Решение

В большинстве систем он не отображается в доступную память пользовательского режима, поэтому вам нужно вызвать некоторый системный API.

В Windows вы можете вызвать GetSystemFirmwareTable ,

Другие советы

Для Linux, я думаю, вам стоит взглянуть на dmidecode источник (GPL) для конкретного кода ...

Использование и анализ выходных данных dmidecode - все, что вам нужно ...

Я написал многоразовый класс, чтобы читать все, что связано с SMBIOS.

Это очень чистый код с правильной обработкой ошибок, который легко расширять.Вы можете получить класс из этого класса, который будет использовать проанализированные данные для их отображения или делать с ними все, что захотите.

Вы также найдете ссылку на актуальную документацию SMBios в комментариях к коду.

Скачать его можно с моей домашней страницы:ftp://ftp.netcult.ch/mirror/elmue/SMBiosClass.zip

Эльмуэ

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top