Getting your system ready for Win2000
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 transactions accessing hardware and software components on a desktop called DMI (Desktop Management Interface). The standard information is put in .mif (management information format) text files that are stored in a sldb.mif database and accessed via a Service Provider. In addition to that, some information, such as the Serial Numbers 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 (management interfaces) and optionally CI (component interfaces) modules. HP TopTools is also WMI compliant, which is the Microsoft Windows version of DMTF DMI. 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.
If you want a text version of the information that HP TopTools will display with their interactive browsers, follow these steps:
Here is very straight forward way to get a text file of the DMI attributes that have been updated in the sldb.mif database. This solution is based on emulating a SMS installation on the workstation, and running a HP tool that extracts all the vendor 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 file readme.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 contains all the data from all the .mif files, including the bios calls to extract the Serial Number.
In establishing a programmatic API interface using Visual C++ on desktops that will be using SMS, I belive it is best to pursue the WMI option because although this component needs to be loaded on the NT machines, it is downloaded for free and it is the standard for Windows 2000. The alternative to access DMI via Microsoft WSH with VBScript is not an good programmatic option in my option because VSH uses the same 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 called SmartDMI Service Provider SDK which has excellent DMI support and sample code. The company, Smart Technology Enablers is a partner with Intel, which is the Bios that most 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: