DEVICE_MEDIA_INFO 结构 (ntddstor.h)

存储类驱动程序返回嵌入 GET_MEDIA_TYPES 结构的 DEVICE_MEDIA_INFO 结构数组,以响应 IOCTL_STORAGE_GET_MEDIA_TYPES_EX 设备控制请求。

语法

typedef struct _DEVICE_MEDIA_INFO {
  union {
    struct {
      LARGE_INTEGER      Cylinders;
      STORAGE_MEDIA_TYPE MediaType;
      ULONG              TracksPerCylinder;
      ULONG              SectorsPerTrack;
      ULONG              BytesPerSector;
      ULONG              NumberMediaSides;
      ULONG              MediaCharacteristics;
    } DiskInfo;
    struct {
      LARGE_INTEGER      Cylinders;
      STORAGE_MEDIA_TYPE MediaType;
      ULONG              TracksPerCylinder;
      ULONG              SectorsPerTrack;
      ULONG              BytesPerSector;
      ULONG              NumberMediaSides;
      ULONG              MediaCharacteristics;
    } RemovableDiskInfo;
    struct {
      STORAGE_MEDIA_TYPE MediaType;
      ULONG              MediaCharacteristics;
      ULONG              CurrentBlockSize;
      STORAGE_BUS_TYPE   BusType;
      union {
        struct {
          UCHAR MediumType;
          UCHAR DensityCode;
        } ScsiInformation;
      } BusSpecificData;
    } TapeInfo;
  } DeviceSpecific;
} DEVICE_MEDIA_INFO, *PDEVICE_MEDIA_INFO;

成员

DeviceSpecific

DeviceSpecific.DiskInfo

描述不可移动 (固定) 磁盘。

DeviceSpecific.DiskInfo.Cylinders

指定此磁盘上的柱形数。

DeviceSpecific.DiskInfo.MediaType

指定 FixedMedia 的MEDIA_TYPE

DeviceSpecific.DiskInfo.TracksPerCylinder

指定每个柱面的轨道数。

DeviceSpecific.DiskInfo.SectorsPerTrack

指定每个磁道的扇区数。

DeviceSpecific.DiskInfo.BytesPerSector

指定每个扇区的字节数。

DeviceSpecific.DiskInfo.NumberMediaSides

指定可包含数据的磁盘的边数:1 表示单面介质,2 表示双面介质。

DeviceSpecific.DiskInfo.MediaCharacteristics

指定由以下一个或多个标志指示的磁盘的特征。

  • MEDIA_ERASEABLE 0x00000001
  • MEDIA_WRITE_ONCE 0x00000002
  • MEDIA_READ_ONLY 0x00000004
  • MEDIA_READ_WRITE 0x00000008
  • MEDIA_WRITE_PROTECTED 0x00000100
  • MEDIA_CURRENTLY_MOUNTED 0x80000000

DeviceSpecific.RemovableDiskInfo

描述可移动 (非修复) 磁盘。

DeviceSpecific.RemovableDiskInfo.Cylinders

指定此磁盘上的柱形数。

DeviceSpecific.RemovableDiskInfo.MediaType

指定指示可移动磁盘类型的 MEDIA_TYPESTORAGE_MEDIA_TYPE 值。

DeviceSpecific.RemovableDiskInfo.TracksPerCylinder

指定每个柱面的轨道数。

DeviceSpecific.RemovableDiskInfo.SectorsPerTrack

指定每个磁道的扇区数。

DeviceSpecific.RemovableDiskInfo.BytesPerSector

指定每个扇区的字节数。

DeviceSpecific.RemovableDiskInfo.NumberMediaSides

指定可包含数据的磁盘的边数:1 表示单面介质,2 表示双面介质。

DeviceSpecific.RemovableDiskInfo.MediaCharacteristics

指定磁盘的特征,由MEDIA_XXX 标记 ORed 一起指示。 有关这些标志的列表,请参阅 DeviceSpecific.DiskInfo 结构的 DeviceSpecific.DiskInfo.MediaCharacteristics 成员。

DeviceSpecific.TapeInfo

描述磁带。

DeviceSpecific.TapeInfo.MediaType

指定一个 STORAGE_MEDIA_TYPE 值,该值指示此结构中描述的磁带类型。

DeviceSpecific.TapeInfo.MediaCharacteristics

指定磁带的特征,由MEDIA_XXX 标记 ORed 一起指示。 有关这些标志的列表,请参阅 DeviceSpecific.DiskInfo 结构的 DeviceSpecific.DiskInfo.MediaCharacteristics 成员。

DeviceSpecific.TapeInfo.CurrentBlockSize

指定当前块大小(以字节为单位)。

DeviceSpecific.TapeInfo.BusType

指定类型 为 STORAGE_BUS_TYPE 的值,该值指示总线类型。

DeviceSpecific.TapeInfo.BusSpecificData

DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation

从描述磁带机支持的介质的模式页数据中指定特定于总线的信息。 其他总线类型的值将在更高版本中提供。

DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.MediumType

指定特定于 SCSI 的介质类型。

DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.DensityCode

指定读/写操作的特定于 SCSI 的当前操作密度。

注解

存储驱动程序使用此结构来指示设备支持的媒体类型以及当前装载的类型(如果有)。 如果驱动程序可以控制媒体库或更换器中的驱动器,或者可移动存储管理器 (RSM) 访问其设备,则必须提供此信息。

驱动程序填充 一个DEVICE_MEDIA_INFO 结构数组,设备支持的每个介质类型对应一个, 嵌入在 GET_MEDIA_TYPES 结构中。

要求

要求
Header ntddstor.h (包括 Ntddstor.h、Minitape.h)

另请参阅

STORAGE_MEDIA_TYPE

TapeMiniGetMediaTypes