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
指定 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
描述可移动磁盘(非fixed)磁盘。
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 结构中。
要求
要求 | 价值 |
---|---|
标头 | ntddstor.h(包括 Ntddstor.h、Minitape.h) |