There are a lot of references to DMTF and DMI and how to determine what is on a desktop so that it can be updated to Windows 2000, but very little summary information.Here is basically how it works.
The DMTF (Desktop Management Task Force) have set-up a standard for transactionsaccessing hardware and software components on a desktop called DMI (DesktopManagement Interface). The standard information is put in .mif (managementinformation format) text files that are stored in a sldb.mif database and accessedvia a Service Provider. In addition to that, some information, such as the SerialNumbers for the workstations are stored in non-volatile memory on the motherboard,and accessed via DMI transactions referencing DMI structures.DMI compliant vendors such as HP TopTools are required to supply MI (managementinterfaces) and optionally CI (component interfaces) modules. HP TopTools is alsoWMI compliant, which is the Microsoft Windows version of DMTF DMI.
If you want a text version of the information that HP TopTools will display with theirinteractive browsers, follow these steps:
Here is very straight forward way to get a text file of the DMI attributes thathave been updated in the sldb.mif database. This solution is based on emulating aSMS installation on the workstation, and running a HP tool that extracts all thevendor mif data into a text file to import it to SMS.
1. Create an approx.. 30 byte file at c:\ called sms.ini. ( I copied the filereadme.txt from c:\dmi\win32\doc and renamed it)
2. reboot the machine (or run the c:\dmi\win32\bin\smswin.exe program)
3. The puts out a text file called HPSMSMIF.mif at the root level that containsall the data from all the .mif files, including the bios calls to extract theSerial Number.
In establishing a programmatic API interface using Visual C++ on desktops that willbe using SMS, I belive it is best to pursue the WMI option because although thiscomponent needs to be loaded on the NT machines, it is downloaded for free and itis the standard for Windows 2000. The alternative to access DMI via Microsoft WSHwith VBScript is not an good programmatic option in my option because VSH uses thesame registers as SMS 2.0 and they cannot be used together.
For the desktops that don't have HP TopTools there is a commercial product calledSmartDMI Service Provider SDK which has excellent DMI support and sample code. Thecompany, Smart Technology Enablers is a partner with Intel, which is the Bios thatmost workstations use.
Their implementation of accessing the .mif information is proprietory, but they have a great public message board where knowledgeable people actually answer questions: