2009-09-09 9 views
3

Après avoir lu des informations, il semble que je puisse mapper la mémoire SMBIOS et l'analyser. Je ne sais pas comment y arriver. Je ne peux pas utiliser de code managé comme je voudrais que ce soit compilable sous n'importe quel système d'exploitation.Façon courante d'obtenir des informations sur le BIOS via C

Est-ce que quelqu'un a des exemples de code comment s'y prendre?

+0

Quelles sont les informations du BIOS avez-vous besoin? Si vous utilisez Windows, il se peut que certaines interfaces WMI en exposent certains aspects. – reuben

Répondre

8

Sur la plupart des systèmes, il n'est pas mappé en mémoire accessible en mode utilisateur, vous devez donc appeler une API système. Sur Windows, vous pouvez appeler le GetSystemFirmwareTable.

2

Pour Linux, je suppose que vous devriez jeter un oeil à la dmidecodesource (GPL) pour le code de béton ...

L'utilisation et l'analyse syntaxique sortie dmidecode peut être tout ce dont vous avez besoin ...

1

I a écrit une classe réutilisable pour lire tous les trucs de SMBIOS.

Il s'agit d'un code très propre avec une gestion des erreurs appropriée et facile à étendre. Vous pouvez dériver une classe de cette classe qui utilise les données analysées pour l'afficher ou faire ce que vous voulez avec.

Vous trouverez également un lien vers la documentation SMBios actuelle dans les commentaires du code.

Vous pouvez le télécharger à partir de ma page d'accueil: ftp://ftp.netcult.ch/mirror/elmue/SMBiosClass.zip

Elmue

Questions connexes