确定 Windows 上的磁盘几何结构
-
09-06-2019 - |
题
我需要以编程方式确定 Windows XP 物理磁盘上有多少个扇区、磁头和柱面。有谁知道用于确定这一点的API?Windows 可能会在哪里公开此信息?
解决方案
使用 设备Io控制 带控制代码 IOCTL_DISK_GET_DRIVE_GEOMETRY 或者 IOCTL_DISK_GET_DRIVE_GEOMETRY_EX.
MSDN 中有示例代码可以执行此操作 这里.
其他提示
您可以传递一个控制代码 设备Io控制 获取物理磁盘几何结构。
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( );
}
}
}
有关可以使用的其他驱动器属性的列表,请查看 这一页
不隶属于 StackOverflow