Device Information

Click here to change the theme.

Not many people know about the Windows Management Instrumentation (WMI) but it is very useful for getting device information.

Self Monitoring, Analysis and Reporting Technology

Some IDE disk drives have SMART (Self Monitoring, Analysis and Reporting Technology) capabilities built into them. It is a standard developed by Compaq Computer Corporation and Microsoft Corporation. Microsoft provides an interface using SMART but seems to have discontinued support of it. Hopefully it is still useful. See:

Processor Serial Numbers

Intel provides serial numbers for some of it's processors. The following are the most relevant documentation direct from Intel for getting the Serial Number direct from the processor.

I am not sure if any AMD Processors have a serial number, but for use of the CPUID instruction with AMD Processors, there is some sample code at the bottom of the following page:

For use of the CPUID instruction with IBM Processors:

Windows 9X Disk Drive I/O

Using the Windows NT operating system and NT types of operating systems, a drive (floppy, hard, CD-ROM etc.) can be opened as a volume using CreateFile as described in the documentation of CreateFile. For Windows 95/98/Me operating systems a "system VxD" must be used in a CreateFile; see the following articles, and search the SDK documentation and the KB articles for "VWIN32" for more help.

Windows NT/2000/XP

October 1997 MSJ Under the Hood: "Win32 exceptions and how they correlate to hardware exceptions"

Beyond Logic has numerous articles about Interfacing the PC; some about Windows, some about Linux and many that are about hardware that are independent of operating system.

Run any Ring 0 code from a Win32 application on Windows NT


To read hard drive manufacturing information see the Reading Hard Drive Manufacturing Information article in the CodeGuru web site. I do not know what interface it uses but it can be used by an NT user without Administrator privileges, which is an advantage since only read access is used. The article says that the code was contributed by the web site; that web site does have a lot of that kind of stuff.

For Intel processor information you can go direct to the source; Intel's Developer Site.

For some interesting electronics projects see Hans Wedemeyer's Projects, Code and More web site.

See Sysinternals for more hardware-related and low-level software.