在Windows上确定磁盘几何
时间:2020-03-05 18:49:40 来源:igfitidea点击:
我需要以编程方式确定Windows XP的物理磁盘上有多少扇区,磁头和磁柱。有人知道用于确定此内容的API吗? Windows可能在何处公开此信息?
解决方案
回答
我们可以将控制代码传递给DeviceIoControl,以获取物理磁盘的几何形状。
回答
将DeviceIoControl与控制代码IOCTL_DISK_GET_DRIVE_GEOMETRY或者IOCTL_DISK_GET_DRIVE_GEOMETRY_EX一起使用。
MSDN中有示例代码可在此处执行。
回答
WMI也很擅长,我已经成功地使用了它。
using( ManagementClass driveClass = new ManagementClass( "Win32_DiskDrive" ) ) { using( ManagementObjectCollection physicalDrives = driveClass.GetInstances( ) ) { foreach( ManagementObject drive in physicalDrives ) { string cylinders = ( string )drive["TotalCylinders"]; // ... etc ... drive.Dispose( ); } } }
有关我们可以使用的其他驱动器属性的列表,请查看此页面