Hi!
I need to read system information from SMBIOS/DMI in a Visual C++
program in Windows 98/ME/2000/XP. I have already started to write the
code to read the structure from SMBIOS(after finding the location in
BIOS) but since it is a painstaking task I wanted to get an already
made source/library. I know there are a few commercial libraries out
there to do it, but is there any free source code/library to help me
out?
Thanks! |
Request for Question Clarification by
mathtalk-ga
on
09 Nov 2002 13:40 PST
Hi, damoncz:
Please check the links I provided below as comments. Source code for
the decoding of SMBIOS either in DOS or Windows is provided there as
assembler, which can be exploited under Visual C++ with less effort
than rewriting in C/C++. If this addresses your needs I'd like to
post this as an answer.
Thanks in advance,
mathtalk-ga
|
Clarification of Question by
damoncz-ga
on
09 Nov 2002 14:00 PST
Dear mathtalk-ga,
I am aware of that website and their SMBIOS program. Unfortunately, it
is all written in assembly and it is not very useful to port it into
C++. I don't have any problem finding the SMBIOS signature in BIOS and
reading data from. I have started writting a library myself, and I
have completted it up to Structure Table 7 of DMI, but because it was
a tedious task to finish it up I thought maybe there is a library
available in C++.
I appreciate your help and I still would be happy if you can find any
useful information or a library. We can even negotiate a higher
fee(other than the List price in google) if you can port or provide me
a library :-)
Thanks again!
Damon
|
Request for Question Clarification by
mathtalk-ga
on
10 Nov 2002 07:17 PST
Hi, damon:
Thanks for the clarification. To explore the idea of doing some
custom programming a bit further, or just to kick some ideas around,
which version of Visual C++ are you using? Have you considered
storing the SMBIOS information in an XML format? What kind of
presentation are you striving for in outputting the data?
regards, mathtalk
|
Clarification of Question by
damoncz-ga
on
11 Nov 2002 10:08 PST
I am programming in VisualStudio.NET but this library that I am
developing is written in Standard C++(without MFC). I hadn't thought
of outputting data into XML format but thats a good idea to use in
future versions of the program. This library searches the BIOS from
SBMBIOS location and fills its C++ structure(struct, there are about
40 of them) with SMBIOS structures, and user can access to the
structure through some functions. Basically, I need to read SMBIOS
info to get system information(such as its BIOS, Motherboard, et.c)
Regards,
Damon
|
Request for Question Clarification by
mathtalk-ga
on
11 Nov 2002 19:55 PST
Apparently MS has put some SMBIOS structure C++ classes together for
WBEM under the Windows DDK. If you want, I can research that and
summmarize as an answer. It is described as being "free" to IHV's,
ISV's, and OEM's. I'd guess we qualify as ISV's in some sense:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmeother/hh/wmeother/smbios_0f5e.asp
Hope this helps,
mathtalk-ga
|