STORAGE_DEVICE_DESCRIPTOR 構造体 (winioctl.h)

IOCTL_STORAGE_QUERY_PROPERTY 制御コードと組み合わせて使用して、デバイスのストレージ デバイス記述子データを取得します。

構文

typedef struct _STORAGE_DEVICE_DESCRIPTOR {
  DWORD            Version;
  DWORD            Size;
  BYTE             DeviceType;
  BYTE             DeviceTypeModifier;
  BOOLEAN          RemovableMedia;
  BOOLEAN          CommandQueueing;
  DWORD            VendorIdOffset;
  DWORD            ProductIdOffset;
  DWORD            ProductRevisionOffset;
  DWORD            SerialNumberOffset;
  STORAGE_BUS_TYPE BusType;
  DWORD            RawPropertiesLength;
  BYTE             RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;

メンバー

Version

この構造体のサイズをバイト単位で格納します。 メンバーが構造体に追加されると、このメンバーの値が変更されます。

Size

記述子の合計サイズをバイト単位で指定します。これには、ベンダー ID、製品 ID、製品リビジョン、デバイスのシリアル番号文字列、および構造体に追加されるバス固有のデータが含まれます。

DeviceType

Small Computer Systems Interface (SCSI) 仕様で定義されているデバイスの種類を指定します。

DeviceTypeModifier

SCSI 仕様で定義されているように、デバイスの種類修飾子 (存在する場合) を指定します。 デバイスの種類修飾子が存在しない場合、このメンバーは 0 です。

RemovableMedia

デバイスのメディア (存在する場合) がリムーバブルであることを TRUE にする 場合を示します。 デバイスにメディアがない場合は、このメンバーを無視する必要があります。 FALSE の場合、デバイスのメディアはリムーバブルではありません。

CommandQueueing

デバイスが複数の未処理のコマンド (SCSI タグ付きキューまたは同等のもの) をサポートしていることを TRUE に するかどうかを示します。 FALSE の場合、デバイスは SCSI タグ付きキューまたは同等のキューをサポートしません。

VendorIdOffset

構造体の先頭から、デバイスのベンダー ID を含む null で終わる ASCII 文字列へのバイト オフセットを指定します。 デバイスにベンダー ID がない場合、このメンバーは 0 です。

ProductIdOffset

構造体の先頭から、デバイスの製品 ID を含む null で終わる ASCII 文字列へのバイト オフセットを指定します。 デバイスに製品 ID がない場合、このメンバーは 0 です。

ProductRevisionOffset

構造体の先頭から、デバイスの製品リビジョン文字列を含む null で終わる ASCII 文字列へのバイト オフセットを指定します。 デバイスに製品リビジョン文字列がない場合、このメンバーは 0 です。

SerialNumberOffset

構造体の先頭から、デバイスのシリアル番号を含む null で終わる ASCII 文字列へのバイト オフセットを指定します。 デバイスにシリアル番号がない場合、このメンバーは 0 です。

BusType

デバイスが接続されているバスの種類を示す STORAGE_BUS_TYPE 型の列挙子値を指定します。 これは、この構造の最後で生のデバイス プロパティを解釈するために使用する必要があります (ある場合)。

RawPropertiesLength

この記述子に追加されたバス固有データのバイト数を示します。

RawDeviceProperties[1]

バス固有のプロパティ データの最初のバイトのプレース ホルダーとして機能する長さ 1 の配列を格納します。

注釈

アプリケーションは、出力バッファーのSTORAGE_DESCRIPTOR_HEADER構造体を渡すIOCTL_STORAGE_QUERY_PROPERTY制御コードを発行し、STORAGE_DESCRIPTOR_HEADER構造体の返された Size メンバーを使用して適切なサイズのバッファーを割り当てることで、必要なバッファー サイズを決定できます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winioctl.h (Windows.h を含む)

関連項目

ディスク管理の構造体

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR