Windows XP から、物理ディスク上にあるセクター、ヘッド、およびシリンダーの数をプログラムで特定する必要があります。これを決定するためのAPIを知っている人はいますか? Windows はこの情報をどこに公開する可能性がありますか?
2698 次
3 に答える
6
制御コードIOCTL_DISK_GET_DRIVE_GEOMETRYまたはIOCTL_DISK_GET_DRIVE_GEOMETRY_EXでDeviceIoControlを使用します。
これを行うためのサンプルコードが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 に答える