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 を含む) |