次の方法で共有


STORAGE_DEVICE_DESCRIPTOR構造体 (ntddstor.h)

STORAGE_DEVICE_DESCRIPTOR 構造体は、デバイスのストレージ デバイス記述子データを取得する IOCTL_STORAGE_QUERY_PROPERTY 要求と組み合わせて使用されます。

構文

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

メンバーズ

Version

STORAGE_DEVICE_DESCRIPTOR 構造体のサイズを示します。 メンバーが構造体に追加されると、このメンバーの値が変更されます。

Size

構造体に追加される ID 文字列を含む、記述子の合計サイズをバイト単位で指定します。

DeviceType

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

DeviceTypeModifier

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

RemovableMedia

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

CommandQueueing

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

VendorIdOffset

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

ProductIdOffset

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

ProductRevisionOffset

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

SerialNumberOffset

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

BusType

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

RawPropertiesLength

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

RawDeviceProperties[1]

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

備考

アプリケーションおよびストレージ クラス ドライバーは、ターゲット デバイスに関する情報を含むこの構造体を取得するために、I/O コントロール コード IOCTL_STORAGE_QUERY_PROPERTY でデバイス制御要求を発行します。 構造体は FDO からのみ取得できます。アダプターからデバイス プロパティを取得しようとすると、エラーが発生します。

アプリケーションまたはドライバーは、取得した STORAGE_DEVICE_DESCRIPTOR 構造体を STORAGE_DESCRIPTOR_HEADERにキャストすることで、必要なバッファー サイズを決定できます。この構造体には、バージョンサイズのみが含まれます。

必要条件

要件 価値
ヘッダー ntddstor.h (Ntddstor.h を含む)

関連項目

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR