DEVICE_MEDIA_INFO - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// 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

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-minitape-_device_media_info)

_DEVICE_MEDIA_INFO structure (minitape.h)

Description

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.

Members

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.

DiskInfo.MediaCharacteristics.MEDIA_CURRENTLY_MOUNTED
DiskInfo.MediaCharacteristics.MEDIA_ERASEABLE
DiskInfo.MediaCharacteristics.MEDIA_READ_ONLY
DiskInfo.MediaCharacteristics.MEDIA_READ_WRITE
DiskInfo.MediaCharacteristics.MEDIA_WRITE_ONCE
DiskInfo.MediaCharacteristics.MEDIA_WRITE_PROTECTED

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.

Remarks

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.

See also

STORAGE_MEDIA_TYPE

TapeMiniGetMediaTypes


Windows Driver Kit DDI reference (ns-ntddstor-_device_media_info)

_DEVICE_MEDIA_INFO structure (ntddstor.h)

Description

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.

Members

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.

Remarks

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.

See also

STORAGE_MEDIA_TYPE

TapeMiniGetMediaTypes


Win32 API reference (ns-winioctl-device_media_info)

DEVICE_MEDIA_INFO structure

Description

Provides information about the media supported by a device.

Members

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.

DiskInfo.MediaCharacteristics.MEDIA_CURRENTLY_MOUNTED (0x80000000)
DiskInfo.MediaCharacteristics.MEDIA_ERASEABLE (0x00000001)
DiskInfo.MediaCharacteristics.MEDIA_READ_ONLY (0x00000004)
DiskInfo.MediaCharacteristics.MEDIA_READ_WRITE (0x00000008)
DiskInfo.MediaCharacteristics.MEDIA_WRITE_ONCE (0x00000002)
DiskInfo.MediaCharacteristics.MEDIA_WRITE_PROTECTED (0x00000100)

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.

RemovableDiskInfo.MediaCharacteristics.MEDIA_CURRENTLY_MOUNTED (0x80000000)
RemovableDiskInfo.MediaCharacteristics.MEDIA_ERASEABLE (0x00000001)
RemovableDiskInfo.MediaCharacteristics.MEDIA_READ_ONLY (0x00000004)
RemovableDiskInfo.MediaCharacteristics.MEDIA_READ_WRITE (0x00000008)
RemovableDiskInfo.MediaCharacteristics.MEDIA_WRITE_ONCE (0x00000002)
RemovableDiskInfo.MediaCharacteristics.MEDIA_WRITE_PROTECTED (0x00000100)

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.

TapeInfo.MediaCharacteristics.MEDIA_CURRENTLY_MOUNTED (0x80000000)
TapeInfo.MediaCharacteristics.MEDIA_ERASEABLE (0x00000001)
TapeInfo.MediaCharacteristics.MEDIA_READ_ONLY (0x00000004)
TapeInfo.MediaCharacteristics.MEDIA_READ_WRITE (0x00000008)
TapeInfo.MediaCharacteristics.MEDIA_WRITE_ONCE (0x00000002)
TapeInfo.MediaCharacteristics.MEDIA_WRITE_PROTECTED (0x00000100)

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.

See also

GET_MEDIA_TYPES

LARGE_INTEGER

MEDIA_TYPE

STORAGE_BUS_TYPE

STORAGE_MEDIA_TYPE