いくつか読んだ後、SMBIOS メモリをマップして解析できるようです。どうすればいいのかわかりません。これを任意の OS でコンパイルできるようにしたいので、マネージ コードは使用できません。
これを行う方法のコード例はありますか?
ほとんどのシステムでは、ユーザー モードでアクセス可能なメモリにマップされていないため、何らかのシステム API を呼び出す必要があります。
Windows では、 GetSystemFirmwareTableを呼び出すことができます。
Linux の場合、具体的なコードについてはdmidecode ソース(GPL) を参照する必要があると思います...
dmidecode 出力を使用して解析するだけで十分な場合があります...
すべての SMBIOS を読み取るための再利用可能なクラスを作成しました。
これは、適切なエラー処理と拡張が容易な非常にクリーンなコードです。このクラスから、解析されたデータを使用して表示したり、必要な処理を行ったりするクラスを派生させることができます。
コードのコメントには、実際の SMBios ドキュメントへのリンクもあります。
私のホームページからダウンロードできます: ftp://ftp.netcult.ch/mirror/elmue/SMBiosClass.zip
エルムー