5

Windows XP から、物理ディスク上にあるセクター、ヘッド、およびシリンダーの数をプログラムで特定する必要があります。これを決定するためのAPIを知っている人はいますか? Windows はこの情報をどこに公開する可能性がありますか?

4

3 に答える 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 に答える