While running the SMBIOS Inventory Tool it
turned out that the inventory process failed on some notebook models because
some SMBIOS data was not accessible. In particular, this happened on Toshiba
and FUJITSU laptops. During the inventory process it was necessary to read the
memory by physical addresses.
The SMBIOS Inventory Tool is a Win16 application, so it was able to address the
memory directly in the 0-16 Mb range, whereas the problem machines had the
necessary data located out of this range. The project was aimed at providing
access to the SMBIOS data located above the 0-16 Mb range of memory under MS
As a result of this project we implemented the mechanism allowing SMBIOS
Inventory Tool to read the memory by physical addresses while running under MS
Windows NT4/XP/2k/2003. The use of this mechanism fixed the inventory problem
of the SMBIOS data located above the 0-16 Mb memory range.
To work with physical memory under Windows NT4/XP/2k/2003, we chose the
standard way - that is to design an NT Kernel-mode driver able to run on Ring-0
and address physical memory. The driver provides the functionality of copying a
portion of physical memory into the specified buffer.