// 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 reference
No 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.
DeviceSpecific
DeviceSpecific.DiskInfo
Describes a nonremovable (fixed) disk.
DeviceSpecific.DiskInfo.Cylinders
Specifies the number of cylinders on this disk.
DeviceSpecific.DiskInfo.MediaType
Specifies a MEDIA_TYPE of FixedMedia.
DeviceSpecific.DiskInfo.TracksPerCylinder
Specifies the number of tracks per cylinder.
DeviceSpecific.DiskInfo.SectorsPerTrack
Specifies the number of sectors per track.
DeviceSpecific.DiskInfo.BytesPerSector
Specifies the number of bytes per sector.
DeviceSpecific.DiskInfo.NumberMediaSides
Specifies 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.MediaCharacteristics
Specifies characteristics of the disk indicated by one or more of the following flags.
DeviceSpecific.RemovableDiskInfo
Describes a removable (nonfixed) disk.
DeviceSpecific.RemovableDiskInfo.Cylinders
Specifies the number of cylinders on this disk.
DeviceSpecific.RemovableDiskInfo.MediaType
Specifies a MEDIA_TYPE or STORAGE_MEDIA_TYPE value that indicates the type of removable disk.
DeviceSpecific.RemovableDiskInfo.TracksPerCylinder
Specifies the number of tracks per cylinder.
DeviceSpecific.RemovableDiskInfo.SectorsPerTrack
Specifies the number of sectors per track.
DeviceSpecific.RemovableDiskInfo.BytesPerSector
Specifies the number of bytes per sector.
DeviceSpecific.RemovableDiskInfo.NumberMediaSides
Specifies the number of sides of the disk that can contain data: 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.RemovableDiskInfo.MediaCharacteristics
Specifies 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.TapeInfo
Describes a tape.
DeviceSpecific.TapeInfo.MediaType
Specifies a STORAGE_MEDIA_TYPE value that indicates the type of tape described in this structure.
DeviceSpecific.TapeInfo.MediaCharacteristics
Specifies 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.CurrentBlockSize
Specifies the current block size, in bytes.
DeviceSpecific.TapeInfo.BusType
Specifies a value of type STORAGE_BUS_TYPE that indicates the bus type.
DeviceSpecific.TapeInfo.BusSpecificData
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation
Specifies 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.MediumType
Specifies the SCSI-specific medium type.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.DensityCode
Specifies 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.
DeviceSpecific
DeviceSpecific.DiskInfo
Describes a nonremovable (fixed) disk.
DeviceSpecific.DiskInfo.Cylinders
Specifies the number of cylinders on this disk.
DeviceSpecific.DiskInfo.MediaType
Specifies a MEDIA_TYPE of FixedMedia.
DeviceSpecific.DiskInfo.TracksPerCylinder
Specifies the number of tracks per cylinder.
DeviceSpecific.DiskInfo.SectorsPerTrack
Specifies the number of sectors per track.
DeviceSpecific.DiskInfo.BytesPerSector
Specifies the number of bytes per sector.
DeviceSpecific.DiskInfo.NumberMediaSides
Specifies 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.MediaCharacteristics
Specifies characteristics of the disk indicated by one or more of the following flags.
DeviceSpecific.RemovableDiskInfo
Describes a removable (nonfixed) disk.
DeviceSpecific.RemovableDiskInfo.Cylinders
Specifies the number of cylinders on this disk.
DeviceSpecific.RemovableDiskInfo.MediaType
Specifies a MEDIA_TYPE or STORAGE_MEDIA_TYPE value that indicates the type of removable disk.
DeviceSpecific.RemovableDiskInfo.TracksPerCylinder
Specifies the number of tracks per cylinder.
DeviceSpecific.RemovableDiskInfo.SectorsPerTrack
Specifies the number of sectors per track.
DeviceSpecific.RemovableDiskInfo.BytesPerSector
Specifies the number of bytes per sector.
DeviceSpecific.RemovableDiskInfo.NumberMediaSides
Specifies the number of sides of the disk that can contain data: 1 for one-sided media or 2 for two-sided media.
DeviceSpecific.RemovableDiskInfo.MediaCharacteristics
Specifies 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.TapeInfo
Describes a tape.
DeviceSpecific.TapeInfo.MediaType
Specifies a STORAGE_MEDIA_TYPE value that indicates the type of tape described in this structure.
DeviceSpecific.TapeInfo.MediaCharacteristics
Specifies 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.CurrentBlockSize
Specifies the current block size, in bytes.
DeviceSpecific.TapeInfo.BusType
Specifies a value of type STORAGE_BUS_TYPE that indicates the bus type.
DeviceSpecific.TapeInfo.BusSpecificData
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation
Specifies 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.MediumType
Specifies the SCSI-specific medium type.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.DensityCode
Specifies 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.
DeviceSpecific
A union that contains the following members.
DeviceSpecific.DiskInfo
A structure that contains the following members.
DeviceSpecific.DiskInfo.Cylinders
The number of cylinders on this disk.
DeviceSpecific.DiskInfo.MediaType
The media type. This member can be one of the values from the STORAGE_MEDIA_TYPE or MEDIA_TYPE enumeration types.
DeviceSpecific.DiskInfo.TracksPerCylinder
The number of tracks per cylinder.
DeviceSpecific.DiskInfo.SectorsPerTrack
The number of sectors per track.
DeviceSpecific.DiskInfo.BytesPerSector
The number of bytes per sector.
DeviceSpecific.DiskInfo.NumberMediaSides
The 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.MediaCharacteristics
The characteristics of the media. This member can be one or more of the following values.
DeviceSpecific.RemovableDiskInfo
A structure that contains the following members.
DeviceSpecific.RemovableDiskInfo.Cylinders
The number of cylinders on this disk.
DeviceSpecific.RemovableDiskInfo.MediaType
The media type. This member can be one of the values from the STORAGE_MEDIA_TYPE or MEDIA_TYPE enumeration types.
DeviceSpecific.RemovableDiskInfo.TracksPerCylinder
The number of tracks per cylinder.
DeviceSpecific.RemovableDiskInfo.SectorsPerTrack
The number of sectors per track.
DeviceSpecific.RemovableDiskInfo.BytesPerSector
The number of bytes per sector.
DeviceSpecific.RemovableDiskInfo.NumberMediaSides
The 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.MediaCharacteristics
The characteristics of the media. This member can be one or more of the following values.
DeviceSpecific.TapeInfo
A structure that contains the following members.
DeviceSpecific.TapeInfo.MediaType
The media type. This member can be one of the values from the STORAGE_MEDIA_TYPE or MEDIA_TYPE enumeration types.
DeviceSpecific.TapeInfo.MediaCharacteristics
The characteristics of the media. This member can be one or more of the following values.
DeviceSpecific.TapeInfo.CurrentBlockSize
The current block size, in bytes.
DeviceSpecific.TapeInfo.BusType
The type of bus to which the tape drive is connected. This members can be one of the STORAGE_BUS_TYPE enumeration values.
DeviceSpecific.TapeInfo.BusSpecificData
A union that contains the following members.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation
A structure that contains the following members.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.MediumType
The SCSI-specific medium type.
DeviceSpecific.TapeInfo.BusSpecificData.ScsiInformation.DensityCode
The SCSI-specific current operating density for read/write operations.