DEVICE_MEDIA_INFO结构(ntddstor.h)

存储类驱动程序返回一组 DEVICE_MEDIA_INFO 结构,这些结构嵌入在 GET_MEDIA_TYPES 结构中,以响应 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

指定 FixedMediaMEDIA_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

描述可移动磁盘(非fixed)磁盘。

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 结构中。

要求

要求 价值
标头 ntddstor.h(包括 Ntddstor.h、Minitape.h)

另请参阅

STORAGE_MEDIA_TYPE

TapeMiniGetMediaTypes