WinSim Inc.
Download Design II for Windows
Free Password
Sign up for Email

Follow us on facebook

Latest News


February 19, 2024
Dr. Chris O'Brien will be attending the Laurance Reid Gas Conditioning Conference... More

December 8, 2023
Please note that WinSim Inc. will be closed on the following days ... More

October 31, 2023
Version 16.18 of DESIGN II for Windows is available... More

September 15, 2023
Mr. Michael Lynn McGuire will be attending the GPA Midstream Conference... More

August 29, 2023
The DESIGN II for Windows brochure has been updated... More

September 5, 2022
Please note that we do not sell SIM cards in Germany... More

September 16, 2021
The documentation for DESIGN II for Windows has been updated... More

January 19, 2021
Updated the tutorial... More

September 17, 2018
Free introductory training is available on Friday, November 2, 2018 in ... More

May 29, 2018
We have a new GDPR compliant privacy notice ... More

March 3, 2017
Please fill out the DESIGN II for Windows survey... More

November 21, 2016
WinSim is seeking a Project Sales Engineer ... More

November 21, 2012
WinSim is seeking Resellers for International Markets ... More



only search WinSim.com
 

WinSim's Design II for Windows Process Simulation Solution

DiskId32 (freeware)

A Win32 Application and Source Code for Reading Hard Drive Manufacturing Information

Please note that DiskId32 is NOT warranteed nor supported by WinSim Inc.


January 29, 2015 - Nice article in Code Project: Searching for a reliable hardware ID .

October 1, 2013 - Fixed a problem in the source code identified by Torsten Eschner. There is an update for both the source code and the executable.

May 21, 2008 - A user of the DiskId32 code has reported a problem when compiling DiskId32.cpp using Borland C++ Builder: "I have performed a few other tests and it turns out that the original precompiled diskid32.exe reported the serial number correctly on Windows Vista with UAC on. The problem occurred when I compiled the source code under Borland C++ Builder. With BCB, the Zero Rights function only seems to work correctly if you select the 'Treat enum types as ints' compiler option which is by default unselected, otherwise the DeviceIoControl function always returns error 87."

January 29, 2008 - Added a new function ReadPhysicalDriveinNTUsingSmart using SMART_GET_VERSION and SMART_RCV_DRIVE_DATA. This new function works well but it requires administrator rights on Win2K, Windows XP, Windows Server 2003 and Vista.

January 25, 2008 - Updated the code to add a debugging mode (code from Gonzalo Diethelm). Discovered that the "no user rights" mode often fails on Windows XP, Windows Server 2003 and Vista with SATA hard drives. Also verified that the SCSI bypass mode has been removed from the Windows Server 2003 and Vista device drivers.

April 16, 2007: This code works on Vista. Barely in both admin mode and user mode. Different methods of access are used for each mode. However, if you have two SATA hard drives then the Vista will swap between them for the first hard drive. I have not been able to figure this out and consider it a MAJOR bug in Vista. Please note that I fully expect Microsoft to remove this hard drive access in any future release of Windows.

October 27, 2005: fixed a bug in identifying SATA drives with admin access on Windows XP SP2 or Guest access

September 28, 2005: added the printing of the MAC address to DiskId32

November 25, 2003 - added a new method for accessing the IDE (and possibly) SCSI disk drives without admin rights on Windows NT / 2K / XP. Also added another algorithm for acccessing disks using the IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER method but I could not get it to work on my USB hard drives.

October 23, 2003 - it has been reported that the SCSI pass-thru does not work in Windows 2003 Server.

October 6, 2003 - verified that DiskId32 does work with SATA drives in addition to PATA drives. However, DiskId32 does not work with USBhard drives for some reason.

August 22, 2003 - updated DiskID32.cpp and DiskId32.exe by checking the SCSI back door code from 2 controllers to 16 controllers. This now checks IDE addon boards like the Promise Boards, Maxtor Boards, etc... in Windows XP, 2000 and NT.

May 2, 2002 - updated the VXD code for greater reliability in Windows 95/98/ME

Mar 27, 2002 - changed from printing the number of sectors to printing the number of bytes

Feb 11, 2002 - changed from printing the number of cylinders to numberof sectors

May 18, 2001 - Added retry 10 times to the Win9X code

Feb 13, 2001 - Converted from WinIO to VXD

Nov 6, 2000 - Updated

Jun 12, 2000 - Created




DiskId32 is a Win32 console utility for reading the manufacturor's information from your hard drives. It runs under Windows 9X, Win NT, Win 2K and Win XP (Pro/Home). DiskId32 does not run on plain old DOS and I highly doubt that it works on Windows 3.x. It does NOT require administrator rights for Win NT/2K. How does DiskId32 work ?
  • Windows 95 / 98 / ME: Uses a VXD for talking directly to the IDE hard drives
  • Windows 8 / 7 / Vista / Windows NT / 2000 / XP (administrator rights): Uses the PhysicalDrive interface
  • Windows NT / 2000 / XP (user rights only): Uses the SCSI back door to access the IDE hard drives (does not work with Windows Server 2003 or Vista)
  • Windows 8 / 7 / Vista / Windows XP (guest rights only): Uses the PhysicalDrive interface (has occasional problems on Windows XP, Windows 2003 Server and Vista)
DiskId32 only works with IDE / PATA / SATA drives for now. DiskId32 does not work with RAID controller cards (like Promise).

DiskId32 does not work with network drives. All queried hard drives must be physically connected to the PC.


Sample DiskId32 Output for a 180 GB Intel SSD and a 2 TB WD SATA hard drive on Windows 7 x64 Ultimate:

C:\diskid32>diskid32
To get all details use "diskid32 /d"

Trying to read the drive IDs using physical access with admin rights

Trying to read the drive IDs using the SCSI back door

Trying to read the drive IDs using physical access with zero rights

**** STORAGE_DEVICE_DESCRIPTOR for drive 0 ****
Vendor Id = []
Product Id = [INTEL SSDSC2CW180A]
Product Revision = [400i]
Serial Number = [CVCV2016035E180EGN]

**** DISK_GEOMETRY_EX for drive 0 ****
Disk is fixed
DiskSize = 180045766656

**** STORAGE_DEVICE_DESCRIPTOR for drive 1 ****
Vendor Id = []
Product Id = [WDC WD20EARS-00MVWB0]
Product Revision = [51.0AB51]
Serial Number = [WD-WMAZA3374907]

**** DISK_GEOMETRY_EX for drive 1 ****
Disk is fixed
DiskSize = 2000398934016

Trying to read the drive IDs using Smart

Hard Drive Serial Number__________: CVCV2016035E180EGN

Hard Drive Model Number___________: INTEL SSDSC2CW180A

Computer ID_______________________: 664181583

MAC Address: 50-E5-49-41-03-66

Sample DiskId32 Output for a 40 and 80 GB Maxtor PATA hard drives on Windows 2000 Professional:

Primary Controller - Master drive

Drive Model Number________________: MAXTOR 6L040J2
Drive Serial Number_______________: 662131537002
Drive Controller Revision Number__: A93.0500
Controller Buffer Size on Drive___: 1863168 bytes
Drive Type________________________: Fixed
Disk Size_________________________: 40027029504 Bytes

Secondary Controller - Master drive

Drive Model Number________________: MAXTOR 4K080H4
Drive Serial Number_______________: 374116620174
Drive Controller Revision Number__: A08.1500
Controller Buffer Size on Drive___: 2048000 bytes
Drive Type________________________: Fixed
Disk Size_________________________: 80026361344 Bytes


Sample DiskId32 output for 74 GB Western Digital SATA hard drive and a 250 GB Western Digital SATA hard drive on Windows XP SP2:

Trying to read the drive IDs using physical access with admin rights

Primary Controller - Master drive

Drive Model Number________________: WDC WD2500JD-00FYB0
Drive Serial Number_______________: WD-WMAEH1491504
Drive Controller Revision Number__: 02.05D02
Controller Buffer Size on Drive___: 8388608 bytes
Drive Type________________________: Fixed
Drive Size________________________: 250059350016 bytes

Primary Controller - Slave drive

Drive Model Number________________: WDC WD740GD-00FLA2
Drive Serial Number_______________: WD-WMAKE1887977
Drive Controller Revision Number__: 31.08F31
Controller Buffer Size on Drive___: 8388608 bytes
Drive Type________________________: Fixed
Drive Size________________________: 74355769344 bytes

Trying to read the drive IDs using the SCSI back door

Trying to read the drive IDs using physical access with zero rights

**** STORAGE_DEVICE_DESCRIPTOR for drive 0 ****
Vendor Id = (
Product Id = WDC WD2500JD-00FYB0
Product Revision = 02.05D02
Serial Number = WD-WMAEH1491504

**** STORAGE_DEVICE_DESCRIPTOR for drive 1 ****
Vendor Id = (
Product Id = WDC WD740GD-00FLA2
Product Revision = 31.08F31
Serial Number = WD-WMAKE1887977

Hard Drive Serial Number__________: WD-WMAEH1491504

Hard Drive Model Number___________: WDC WD2500JD-00FYB0

Computer ID_______________________: 571491504


Primary Controller - Master drive (KS - 13 GB drive)

Drive Model Number________________: WDC AC313000R
Drive Serial Number_______________: WD-WM6760391969
Drive Controller Revision Number__: 17.01J17
Controller Buffer Size on Drive___: 524288 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track


Primary Controller - Master drive (ID - 13 GB drive)

Drive Model Number________________: WDC AC313000R
Drive Serial Number_______________: WD-WM6760224615
Drive Controller Revision Number__: 17.01J17
Controller Buffer Size on Drive___: 524288 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (OK - 13 GB drive)

Drive Model Number________________: WDC AC313000R
Drive Serial Number_______________: WD-WM6760703521
Drive Controller Revision Number__: 17.01J17
Controller Buffer Size on Drive___: 524288 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (HI - 13 GB drive)

Drive Model Number________________: WDC AC313000R
Drive Serial Number_______________: WD-WM6760392489
Drive Controller Revision Number__: 17.01J17
Controller Buffer Size on Drive___: 524288 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (NE - 6.4 GB drive)

Drive Model Number________________: Maxtor 86480D6
Drive Serial Number_______________: L603A5WA
Drive Controller Revision Number__: NAVX171F
Controller Buffer Size on Drive___: 262144 bytes
Drive Type________________________: Fixed
Physical Geometry: 13395 Cylinders 15 Heads 63 Sectors per track
Primary Controller - Master drive (CA - 6.4 GB drive)

Drive Model Number________________: Maxtor 86480D6
Drive Serial Number_______________: L603ETDA
Drive Controller Revision Number__: NAVX171F
Controller Buffer Size on Drive___: 262144 bytes
Drive Type________________________: Fixed
Physical Geometry: 13395 Cylinders 15 Heads 63 Sectors per track
Primary Controller - Master drive (GUI1 - 4 GB drive)

Drive Model Number________________: SAMSUNG VG34323A (4.32GB)
Drive Serial Number_______________: ST38508090b312
Drive Controller Revision Number__: GQ200
Controller Buffer Size on Drive___: 507904 bytes
Drive Type________________________: Fixed
Physical Geometry: 14896 Cylinders 9 Heads 63 Sectors per track
Primary Controller - Slave drive (GUI1 - 20.5 GB drive)

Drive Model Number________________: WDC WD205BA
Drive Serial Number_______________: WD-WM9540043604
Drive Controller Revision Number__: P76OA30A
Controller Buffer Size on Drive___: 2008064 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (OR - 1.2 GB drive)

Drive Model Number________________: WDC AC31200F
Drive Serial Number_______________: WD-WT3021348934
Drive Controller Revision Number__: 15.05F29
Controller Buffer Size on Drive___: 65536 bytes
Drive Type________________________: Fixed
Physical Geometry: 2484 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (TX - 14 GB drive)

Drive Model Number________________: Maxtor 91366U4
Drive Serial Number_______________: H40FAT0C
Drive Controller Revision Number__: RA530JN0
Controller Buffer Size on Drive___: 2097152 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (LMC - 7 GB drive)

Drive Model Number________________: Maxtor 87000D8
Drive Serial Number_______________: F80AMMEA
Drive Controller Revision Number__: TAVX3222
Controller Buffer Size on Drive___: 262144 bytes
Drive Type________________________: Fixed
Physical Geometry: 14475 Cylinders 15 Heads 63 Sectors per track
Primary Controller - Slave drive (LMC - 540 MB drive)

Drive Model Number________________: Conner Peripherals 540MB - CFS540A
Drive Serial Number_______________: EWBK35S
Drive Controller Revision Number__: 6OT0.08p
Controller Buffer Size on Drive___: 65536 bytes
Drive Type________________________: Fixed
Physical Geometry: 1050 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (CDBURNER - 2 GB drive)

Drive Model Number________________: Maxtor 72004 AP
Drive Serial Number_______________: S2067PXS
Drive Controller Revision Number__: 2A3C0B31
Controller Buffer Size on Drive___: 131072 bytes
Drive Type________________________: Fixed
Physical Geometry: 3893 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Slave drive (LMC - 635 MB drive)

Drive Model Number________________: WDC AC2635F
Drive Serial Number_______________: WD-WT3240298283
Drive Controller Revision Number__: 28.25E40
Controller Buffer Size on Drive___: 65536 bytes
Drive Type________________________: Fixed
Physical Geometry: 1240 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (Mike - 2.1 GB drive)

Drive Model Number________________: WDC AC22100H
Drive Serial Number_______________: WD-WT3610893269
Drive Controller Revision Number__: 10.07H09
Controller Buffer Size on Drive___: 131072 bytes
Drive Type________________________: Fixed
Physical Geometry: 4092 Cylinders 16 Heads 63 Sectors per track
Secondary Controller - Master drive (Mike - 6.4 GB drive)

Drive Model Number________________: WDC AC36400L
Drive Serial Number_______________: WD-WT4201793297
Drive Controller Revision Number__: 09.09M08
Controller Buffer Size on Drive___: 262144 bytes
Drive Type________________________: Fixed
Physical Geometry: 13328 Cylinders 15 Heads 63 Sectors per track
Primary Controller - Slave drive (LMC - 850 MB drive)

Drive Model Number________________: WDC AC2850F
Drive Serial Number_______________: WD-WT3130314472
Drive Controller Revision Number__: 27.25C38
:ontroller Buffer Size on Drive___: 65536 bytes
Drive Type________________________: Fixed
Physical Geometry: 1654 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (Dell Laptop - 4 GB drive)

Drive Model Number________________: IBM-DBCA-204860
Drive Serial Number_______________: HQ0RQ1G8352
Drive Controller Revision Number__: BC3OA8DF
Controller Buffer Size on Drive___: 430592 bytes
Drive Type________________________: Fixed
Physical Geometry: 10068 Cylinders 15 Heads 63 Sectors per track
Primary Controller - Master drive (Tony's Dell laptop)

Drive Model Number_____________: FUJITSU MHK2120AT
Drive Serial Number_____________: 01008344
Drive Controller Revision Number__: D834
Controller Buffer Size on Drive____: 524288 bytes
Drive Type ___________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 16 Sectors per track
Primary Controller - Master drive (Toshiba Laptop - 4 GB drive)

Drive Model Number________________: TOSHIBA MK4309MAT
Drive Serial Number_______________: Y8P30996P
Drive Controller Revision Number__: G5.01 D
Controller Buffer Size on Drive___: 0 bytes
Drive Type________________________: Fixed
Physical Geometry: 8944 Cylinders 15 Heads 63 Sectors per track
Primary Controller - Master drive (ChrisB - Western Digital 6 GB)

Drive Model Number________________: WDC AC36400L
Drive Serial Number_______________: WD-WM4200261521
Drive Controller Revision Number__: 09.09M08
Controller Buffer Size on Drive___: 262144 bytes
Drive Type________________________: Fixed
Physical Geometry: 13328 Cylinders 15 Heads 63 Sectors per track
Primary Controller - Slave drive (ChrisB - Seagate 16 GB)

Drive Model Number________________: ST317242A
Drive Serial Number_______________: 7BP02CLR
Drive Controller Revision Number__: 3.09
Controller Buffer Size on Drive___: 524288 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (LMC - new Western Digital 20 GB drive)

Drive Model Number________________: WDC WD205BA
Drive Serial Number_______________: WD-WM9490727227
Drive Controller Revision Number__: 16.13M16
Controller Buffer Size on Drive___: 2097152 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track
Primary Controller - Master drive (Micron PIII-500 MHz)

Drive Model Number________________: Maxtor 90840D6
Drive Serial Number_______________: K60678PA
Drive Controller Revision Number__: WAS82739
Controller Buffer Size on Drive___: 262144 bytes
Drive Type________________________: Fixed
Physical Geometry: 16276 Cylinders 16 Heads 63 Sectors per track

Primary Controller - Master drive

Drive Model Number________________: FUJITSU MPF3153AT
Drive Serial Number_______________: 01025460
Drive Controller Revision Number__: 0028
Controller Buffer Size on Drive___: 524288 bytes
Drive Type________________________: Fixed
Physical Geometry: 16383 Cylinders 16 Heads 63 Sectors per track



Source code for DiskId32.exe Source code for ide21201.vxd (built using Windows 2K/ME DDK) Please send comments, suggestions and code fixes to lmc@winsim.com.
DUGIDE is another freeware 16 bit DOS program for getting information about your hard disk drives. It only runs in DOS. It does not work in a DOS windows under Windows 3.x, Win 9X or Win NT / 2K.
HD Tune is a totally awesome freeware utility for identifying, testing and monitoring your hard drives.
SmartMonTools is a utility for identifying and monitoring your hard drives using the SMART interface.
Microsoft has an interface built for querying a "media id" from devices but this appears not to work for IDE hard drives: IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER . This method is implemented in DiskId32 but has yet to be tested successfully yet due to the lack of the proper media device.
Links for Investigating Direct Hardware Access under Windows Links for Encrypting Passwords
The first DiskId32 built using WinIO from www.internals.com
 © 1996 - 2022 WinSim Inc. | Legal Notice | Privacy Notice