我需要从 Windows XP 中以编程方式确定物理磁盘上有多少扇区、磁头和柱面。有谁知道用于确定这一点的 API?Windows 可能会在哪里公开此信息?
问问题
2698 次
3 回答
6
将DeviceIoControl与控制代码IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_DISK_GET_DRIVE_GEOMETRY_EX 一起使用。
MSDN 中有示例代码可以在此处执行此操作。
于 2008-09-08T22:12:22.787 回答
1
您可以将控制代码传递给DeviceIoControl以获取物理磁盘几何结构。
于 2008-09-08T21:54:48.057 回答
1
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( );
}
}
}
有关您可以使用的其他驱动器属性的列表,请查看此页面
于 2009-11-12T19:01:38.070 回答