STORAGE_PROTOCOL_DATA_DESCRIPTOR構造体 (winioctl.h)

この構造体は、ストレージ デバイスまたはアダプターからプロトコル固有のデータを返すために、IOCTL_STORAGE_QUERY_PROPERTY と組み合わせて使用されます。 .

構文

typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
  DWORD                          Version;
  DWORD                          Size;
  STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;

メンバー

Version

この構造体のバージョン。

Size

記述子の合計サイズ (すべてのプロトコル データの領域を含む)。

ProtocolSpecificData

STORAGE_PROTOCOL_SPECIFIC_DATA型のプロトコル固有のデータ。

注釈

IOCTL_STORAGE_QUERY_PROPERTYを使用してSTORAGE_PROTOCOL_DATA_DESCRIPTOR内のプロトコル固有の情報を取得する場合は、次のようにSTORAGE_PROPERTY_QUERY構造を構成します。

  • STORAGE_PROPERTY_QUERYSTORAGE_PROTOCOL_SPECIFIC_DATA 構造体の両方を含むことができるバッファーを割り当てます。
  • コントローラー要求の場合は PropertyID フィールドを StorageAdapterProtocolSpecificProperty に、デバイス/名前空間要求の場合は StorageDeviceProtocolSpecificProperty にそれぞれ設定します。
  • QueryType フィールドを PropertyStandardQuery に設定します。
  • STORAGE_PROTOCOL_SPECIFIC_DATA 構造体に必要な値を入力します。 STORAGE_PROTOCOL_SPECIFIC_DATA の先頭は STORAGE_PROPERTY_QUERYAdditionalParameters フィールドです。
NVMe プロトコル固有の情報の種類を指定するには、STORAGE_PROTOCOL_SPECIFIC_DATA 構造体を次のように構成します。
  • ProtocolType フィールドを ProtocolTypeNVMe に設定します。
  • DataType フィールドを STORAGE_PROTOCOL_NVME_DATA_TYPE で定義された列挙値に設定します。
    • NVMeDataTypeIdentify を使って、コントローラーの識別データまたは名前空間の識別データを取得します。
    • NVMeDataTypeLogPage を使って、ログ ページ (SMART/正常性データを含む) を取得します。
    • NVMeDataTypeFeature を使って、NVMe ドライブの機能を取得します。
ATA プロトコル固有の情報の種類を指定するには、次のように STORAGE_PROTOCOL_SPECIFIC_DATA 構造を構成します。
  • [ProtocolType] フィールドを ProtocolTypeAta に設定します。
  • DataType フィールドを、STORAGE_PROTOCOL_ATA_DATA_TYPEによって定義された列挙値に設定します。
    • ATA ドライブを識別するには、 AtaDataTypeIdentify を使用します。
    • ATA ドライブからログ ページを取得するには、 AtaDataTypeLogPage を使用します。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
Header winioctl.h (Windows.h を含む)

こちらもご覧ください

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA