We are running windows xp pro service pack 3 both 32 bit and 64 bit. We are using WMI to get the BIOS manufacturer and model, but we would really prefer an approach that used either the Win32 API or assembly language or something besides WMI or COM. Code samples are most welcome.
You can map in the SMBIOS memory and parse it. Most of the information you want is in there. This can be done from any language that has access to system memory mapping primitives.
Also, this document has information about the Win32 functions that can be used to query SMBIOS.
It's in the registry at HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System
You have SystemBiosVersion, SystemBiosDate, etc.
Also, there is a sub key called BIOS which has yet more information such as BIOSVendor and BIOSVersion.
Depending on who built the system you should also be able to get the BaseBoardManufacturer and other cool info.
UPDATE
You might check out this link. It's VB code. They try to read it from the registry, but failing that fall back to pulling string data out of a memory address. In this case it's &HFE061 for the Version and &HFFFF5 for the date.