Распространенный способ получения информации BIOS через C - PullRequest
3 голосов
/ 10 сентября 2009

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

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

Ответы [ 3 ]

8 голосов
/ 10 сентября 2009

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

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

2 голосов
/ 10 сентября 2009

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

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

1 голос
/ 12 сентября 2013

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

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

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

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

Elmue

...