次の方法で共有


DEVICE_MEDIA_INFO 構造体 (ntddstor.h)

ストレージ クラス ドライバーは、 IOCTL_STORAGE_GET_MEDIA_TYPES_EXデバイス 制御要求に応答して、 GET_MEDIA_TYPES 構造体に埋め込まれた DEVICE_MEDIA_INFO 構造体の配列を返します。

構文

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

FixedMediaMEDIA_TYPEを指定します。

DeviceSpecific.DiskInfo.TracksPerCylinder

円柱あたりのトラック数を指定します。

DeviceSpecific.DiskInfo.SectorsPerTrack

トラック 1 つあたりのセクターの数を指定します。

DeviceSpecific.DiskInfo.BytesPerSector

セクターあたりのバイト数を指定します。

DeviceSpecific.DiskInfo.NumberMediaSides

データを格納できるディスクの辺の数を指定します。片側メディアの場合は 1、両面メディアの場合は 2 です。

DeviceSpecific.DiskInfo.MediaCharacteristics

次のフラグの 1 つ以上で示されるディスクの特性を指定します。

  • 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

トラック 1 つあたりのセクターの数を指定します。

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 固有の現在の動作密度を指定します。

注釈

この構造体は、デバイスでサポートされているメディアの種類と、現在マウントされているメディアの種類 (存在する場合) を示すために、ストレージ ドライバーによって使用されます。 ドライバーは、メディア ライブラリまたは changer 内のドライブを制御する可能性がある場合、またはそのデバイスがリムーバブル 記憶域マネージャー (RSM) によってアクセスされる可能性がある場合は、この情報を提供する必要があります。

ドライバーは、 GET_MEDIA_TYPES 構造体に埋め込まれた、デバイスでサポートされているメディアの種類ごとに 1 つずつ、 DEVICE_MEDIA_INFO 構造体の配列を入力します。

要件

要件
Header ntddstor.h (Ntddstor.h、Minitape.h を含む)

こちらもご覧ください

STORAGE_MEDIA_TYPE

TapeMiniGetMediaTypes