Determining disk geometry
-
My program calls DeviceIOControl() passing IOCTL_DISK_GET_DRIVE_GEOMETRY. However, the cylinder-count in the returned DRIVE_GEOMETRY structure is incorrect. I'm expecting 16383 cylinders and getting something like 3767. The other information in the structure is correct. I'm running on W2K and am testing with large disks (18GB, 30GB). The 30GB disk isn't formatted or partitioned in a DOS/Windows way (its a disk from my Tivo, and uses a Macintosh-style partition table). I obtain the handle to the physical drive using CreateFile(). I have administrator access. The bios is auto-selecting LBA (Logical Block Addressing?) mode for the drive, but otherwise reports its correct capacity. Windows reports the capacity correctly in the Disk Administrator. Can anyone give me a clue as to what to try next? Thanks!