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
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_TYPE 或 STORAGE_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) |