// minitape.h
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;
View the official Windows Driver Kit DDI reference// ntddstor.h
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;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct _DEVICE_MEDIA_INFO {
union {
struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics;
} DiskInfo;
struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics;
} RemovableDiskInfo;
struct {
STORAGE_MEDIA_TYPE MediaType;
DWORD MediaCharacteristics;
DWORD CurrentBlockSize;
STORAGE_BUS_TYPE BusType;
union {
struct {
BYTE MediumType;
BYTE DensityCode;
} ScsiInformation;
} BusSpecificData;
} TapeInfo;
} DeviceSpecific;
} DEVICE_MEDIA_INFO, *PDEVICE_MEDIA_INFO;
View the official Win32 API referenceNo description available.
A storage class driver returns an array of DEVICE_MEDIA_INFO structures, embedded in a GET_MEDIA_TYPES structure, in response to an IOCTL_STORAGE_GET_MEDIA_TYPES_EX device-control request.
DeviceSpecificDeviceSpecific.DiskInfoDescribes a nonremovable (fixed) disk.
DeviceSpecific.DiskInfo.CylindersSpecifies the number of cylinders on this disk.
DeviceSpecific.DiskInfo.MediaTypeSpecifies a MEDIA_TYPE of FixedMedia.
DeviceSpecific.DiskInfo.TracksPerCylinderSpecifies the number of tracks per cylinder.
DeviceSpecific.DiskInfo.SectorsPerTrackSpecifies the number of sectors per track.
DeviceSpecific.DiskInfo.BytesPerSectorSpecifies the number of bytes per sector.
DeviceSpecific.DiskInfo.NumberMediaSidesSpecifies the number of sides of the disk that can contain data: either 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.DiskInfo.MediaCharacteristicsSpecifies characteristics of the disk indicated by one or more of the following flags.
DeviceSpecific.RemovableDiskInfoDescribes a removable (nonfixed) disk.
DeviceSpecific.RemovableDiskInfo.CylindersSpecifies the number of cylinders on this disk.
DeviceSpecific.RemovableDiskInfo.MediaTypeSpecifies a MEDIA_TYPE or STORAGE_MEDIA_TYPE value that indicates the type of removable disk.
DeviceSpecific.RemovableDiskInfo.TracksPerCylinderSpecifies the number of tracks per cylinder.
DeviceSpecific.RemovableDiskInfo.SectorsPerTrackSpecifies the number of sectors per track.
DeviceSpecific.RemovableDiskInfo.BytesPerSectorSpecifies the number of bytes per sector.
DeviceSpecific.RemovableDiskInfo.NumberMediaSidesSpecifies the number of sides of the disk that can contain data: 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.RemovableDiskInfo.MediaCharacteristicsSpecifies characteristics of the disk, indicated by MEDIA_XXX flags ORed together. For a list of these flags, see the DeviceSpecific.DiskInfo.MediaCharacteristics member of the DeviceSpecific.DiskInfo structure.
DeviceSpecific.TapeInfoDescribes a tape.
DeviceSpecific.TapeInfo.MediaTypeSpecifies a STORAGE_MEDIA_TYPE value that indicates the type of tape described in this structure.
DeviceSpecific.TapeInfo.MediaCharacteristicsSpecifies characteristics of the tape, indicated by MEDIA_XXX flags ORed together. For a list of these flags, see the DeviceSpecific.DiskInfo.MediaCharacteristics member of the DeviceSpecific.DiskInfo structure.
DeviceSpecific.TapeInfo.CurrentBlockSizeSpecifies the current block size, in bytes.
DeviceSpecific.TapeInfo.BusTypeSpecifies a value of type STORAGE_BUS_TYPE that indicates the bus type.
DeviceSpecific.TapeInfo.BusSpecificDataDeviceSpecific.TapeInfo.BusSpecificData.ScsiInformationSpecifies bus-specific information from mode page data that describes the medium supported by the tape drive. Values for other bus types will be supplied in a later release.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.MediumTypeSpecifies the SCSI-specific medium type.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.DensityCodeSpecifies the SCSI-specific current operating density for read/write operations.
This structure is used by a storage driver to indicate the types of media supported by a device and which type is currently mounted, if any. A driver must provide this information if it might control drives in a media library or changer or if its device might be accessed by the Removable Storage Manager (RSM).
The driver fills in an array of DEVICE_MEDIA_INFO structures, one for each medium type supported by the device, embedded in a GET_MEDIA_TYPES structure.
A storage class driver returns an array of DEVICE_MEDIA_INFO structures, embedded in a GET_MEDIA_TYPES structure, in response to an IOCTL_STORAGE_GET_MEDIA_TYPES_EX device-control request.
DeviceSpecificDeviceSpecific.DiskInfoDescribes a nonremovable (fixed) disk.
DeviceSpecific.DiskInfo.CylindersSpecifies the number of cylinders on this disk.
DeviceSpecific.DiskInfo.MediaTypeSpecifies a MEDIA_TYPE of FixedMedia.
DeviceSpecific.DiskInfo.TracksPerCylinderSpecifies the number of tracks per cylinder.
DeviceSpecific.DiskInfo.SectorsPerTrackSpecifies the number of sectors per track.
DeviceSpecific.DiskInfo.BytesPerSectorSpecifies the number of bytes per sector.
DeviceSpecific.DiskInfo.NumberMediaSidesSpecifies the number of sides of the disk that can contain data: either 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.DiskInfo.MediaCharacteristicsSpecifies characteristics of the disk indicated by one or more of the following flags.
DeviceSpecific.RemovableDiskInfoDescribes a removable (nonfixed) disk.
DeviceSpecific.RemovableDiskInfo.CylindersSpecifies the number of cylinders on this disk.
DeviceSpecific.RemovableDiskInfo.MediaTypeSpecifies a MEDIA_TYPE or STORAGE_MEDIA_TYPE value that indicates the type of removable disk.
DeviceSpecific.RemovableDiskInfo.TracksPerCylinderSpecifies the number of tracks per cylinder.
DeviceSpecific.RemovableDiskInfo.SectorsPerTrackSpecifies the number of sectors per track.
DeviceSpecific.RemovableDiskInfo.BytesPerSectorSpecifies the number of bytes per sector.
DeviceSpecific.RemovableDiskInfo.NumberMediaSidesSpecifies the number of sides of the disk that can contain data: 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.RemovableDiskInfo.MediaCharacteristicsSpecifies characteristics of the disk, indicated by MEDIA_XXX flags ORed together. For a list of these flags, see the DeviceSpecific.DiskInfo.MediaCharacteristics member of the DeviceSpecific.DiskInfo structure.
DeviceSpecific.TapeInfoDescribes a tape.
DeviceSpecific.TapeInfo.MediaTypeSpecifies a STORAGE_MEDIA_TYPE value that indicates the type of tape described in this structure.
DeviceSpecific.TapeInfo.MediaCharacteristicsSpecifies characteristics of the tape, indicated by MEDIA_XXX flags ORed together. For a list of these flags, see the DeviceSpecific.DiskInfo.MediaCharacteristics member of the DeviceSpecific.DiskInfo structure.
DeviceSpecific.TapeInfo.CurrentBlockSizeSpecifies the current block size, in bytes.
DeviceSpecific.TapeInfo.BusTypeSpecifies a value of type STORAGE_BUS_TYPE that indicates the bus type.
DeviceSpecific.TapeInfo.BusSpecificDataDeviceSpecific.TapeInfo.BusSpecificData.ScsiInformationSpecifies bus-specific information from mode page data that describes the medium supported by the tape drive. Values for other bus types will be supplied in a later release.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.MediumTypeSpecifies the SCSI-specific medium type.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.DensityCodeSpecifies the SCSI-specific current operating density for read/write operations.
This structure is used by a storage driver to indicate the types of media supported by a device and which type is currently mounted, if any. A driver must provide this information if it might control drives in a media library or changer or if its device might be accessed by the Removable Storage Manager (RSM).
The driver fills in an array of DEVICE_MEDIA_INFO structures, one for each medium type supported by the device, embedded in a GET_MEDIA_TYPES structure.
Provides information about the media supported by a device.
DeviceSpecificA union that contains the following members.
DeviceSpecific.DiskInfoA structure that contains the following members.
DeviceSpecific.DiskInfo.CylindersThe number of cylinders on this disk.
DeviceSpecific.DiskInfo.MediaTypeThe media type. This member can be one of the values from the STORAGE_MEDIA_TYPE or MEDIA_TYPE enumeration types.
DeviceSpecific.DiskInfo.TracksPerCylinderThe number of tracks per cylinder.
DeviceSpecific.DiskInfo.SectorsPerTrackThe number of sectors per track.
DeviceSpecific.DiskInfo.BytesPerSectorThe number of bytes per sector.
DeviceSpecific.DiskInfo.NumberMediaSidesThe number of sides of the disk that can contain data. This member is 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.DiskInfo.MediaCharacteristicsThe characteristics of the media. This member can be one or more of the following values.
DeviceSpecific.RemovableDiskInfoA structure that contains the following members.
DeviceSpecific.RemovableDiskInfo.CylindersThe number of cylinders on this disk.
DeviceSpecific.RemovableDiskInfo.MediaTypeThe media type. This member can be one of the values from the STORAGE_MEDIA_TYPE or MEDIA_TYPE enumeration types.
DeviceSpecific.RemovableDiskInfo.TracksPerCylinderThe number of tracks per cylinder.
DeviceSpecific.RemovableDiskInfo.SectorsPerTrackThe number of sectors per track.
DeviceSpecific.RemovableDiskInfo.BytesPerSectorThe number of bytes per sector.
DeviceSpecific.RemovableDiskInfo.NumberMediaSidesThe number of sides of the disk that can contain data. This member is 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.RemovableDiskInfo.MediaCharacteristicsThe characteristics of the media. This member can be one or more of the following values.
DeviceSpecific.TapeInfoA structure that contains the following members.
DeviceSpecific.TapeInfo.MediaTypeThe media type. This member can be one of the values from the STORAGE_MEDIA_TYPE or MEDIA_TYPE enumeration types.
DeviceSpecific.TapeInfo.MediaCharacteristicsThe characteristics of the media. This member can be one or more of the following values.
DeviceSpecific.TapeInfo.CurrentBlockSizeThe current block size, in bytes.
DeviceSpecific.TapeInfo.BusTypeThe type of bus to which the tape drive is connected. This members can be one of the STORAGE_BUS_TYPE enumeration values.
DeviceSpecific.TapeInfo.BusSpecificDataA union that contains the following members.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformationA structure that contains the following members.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.MediumTypeThe SCSI-specific medium type.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.DensityCodeThe SCSI-specific current operating density for read/write operations.