Copyright (c) 2021 Adrian Petrila, YO3GFH
Windows GUI app to enumerate storage media in your computer. Built with Pelle's C compiler system.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Features
- hdid.exe will enumerate storage media (disk drives) on your PC, along with other (hopefully) meaningful info (size, serial no., interface, etc.). I've built it specifically to read serial numbers from my HDD's. It uses the WMI (Windows Management Instrumentation).
Note
- hdd serial numbers, as reported by the OS, may have bytes swapped :-) Reason? Unknown to me.. for example a ssd connected on a controller on my MB is detected as IDE, with serial 0520B677C5505E43; if connected to the other controller, same ssd is detected as SCSI with serial 50026B775C05E534. Looks different, but in fact the bytes are reversed as if one time it's little endian, then the other time it's big endian. So HDID displays them both, for your viewing pleasure :-)) And if it wasn't enough, sometimes thre reported SN is displayed as hex bytes... HDID tries to display that as well, when applicable.
- it does not work on Win XP/2003 server - Win32_DiskDrive does not have the SerialNumber field on these OS-s. If you really have to make it run on them, first make a WMI interogation against Win32_PhysicalDrive (which has the SerialNumber member), then run another one on Win32_DiskDrive with all the members minus SerialNumber, so that it won't fail.