如题如何判断某个盘符是否属于IDE硬盘的分区:
向该盘符设备发送DFP_RECEIVE_DRIVE_DATA命令就可以得到关于该盘符设备的详细信息,进而进一步判断其是否属于IDE硬盘的分区。但是DFP_RECEIVE_DRIVE_DATA命令发送给SCSI硬盘的分区盘符设备时,是无效的。请问该如何判断,或者改用其它什么IOCTL命令可以得到?????

解决方案 »

  1.   

    BusTypeScsiCall 'DeviceIoControl' with 'IOCTL_STORAGE_GET_MEDIA_TYPES_EX'typedef enum _STORAGE_BUS_TYPE
    {
      BusTypeUnknown = 0x00, 
      BusTypeScsi, 
      BusTypeAtapi, 
      BusTypeAta, 
      BusType1394, 
      BusTypeSsa, 
      BusTypeFibre, 
      BusTypeUsb, 
      BusTypeRAID, 
      BusTypeMaxReserved = 0x7F
    } STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
      

  2.   

    2000以上用DeviceIoControl对卷下IOCTL_STORAGE_QUERY_PROPERTY直接取返回STORAGE_DEVICE_DESCRIPTOR结构里面的STORAGE_BUS_TYPE就行了