Распространенный способ получить информацию о BIOS через C
Вопрос
Прочитав кое-что, кажется, я могу сопоставить память SMBIOS и проанализировать ее.Я понятия не имею, как это сделать.Я не могу использовать какой-либо управляемый код, так как хочу, чтобы его можно было компилировать под любой ОС.
Есть ли у кого-нибудь примеры кода, как это сделать?
Решение
В большинстве систем он не отображается в доступную память пользовательского режима, поэтому вам нужно вызвать некоторый системный API.
В Windows вы можете вызвать GetSystemFirmwareTable , Р>
Другие советы
Для Linux, я думаю, вам стоит взглянуть на dmidecode источник (GPL) для конкретного кода ...
Использование и анализ выходных данных dmidecode - все, что вам нужно ...
Я написал многоразовый класс, чтобы читать все, что связано с SMBIOS.
Это очень чистый код с правильной обработкой ошибок, который легко расширять.Вы можете получить класс из этого класса, который будет использовать проанализированные данные для их отображения или делать с ними все, что захотите.
Вы также найдете ссылку на актуальную документацию SMBios в комментариях к коду.
Скачать его можно с моей домашней страницы:ftp://ftp.netcult.ch/mirror/elmue/SMBiosClass.zip
Эльмуэ