次の方法で共有


STORAGE_PROTOCOL_SPECIFIC_DATA構造体 (ntddstor.h)

IOCTL_STORAGE_QUERY_PROPERTY 要求の入力バッファーと出力バッファーで提供されるプロトコル固有のデバイス データについて説明します。

構文

typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
  STORAGE_PROTOCOL_TYPE ProtocolType;
  ULONG                 DataType;
  ULONG                 ProtocolDataRequestValue;
  ULONG                 ProtocolDataRequestSubValue;
  ULONG                 ProtocolDataOffset;
  ULONG                 ProtocolDataLength;
  ULONG                 FixedProtocolReturnData;
  ULONG                 ProtocolDataRequestSubValue2;
  ULONG                 ProtocolDataRequestSubValue3;
  ULONG                 ProtocolDataRequestSubValue4;
} STORAGE_PROTOCOL_SPECIFIC_DATA, *PSTORAGE_PROTOCOL_SPECIFIC_DATA;

メンバーズ

ProtocolType

プロトコルの種類。 このメンバーの値は、STORAGE_PROTOCOL_TYPE 列挙型で定義されます。

DataType

プロトコル のデータ型。 データ型は、STORAGE_PROTOCOL_NVME_DATA_TYPE および STORAGE_PROTOCOL_ATA_DATA_TYPE 列挙型で定義されます。

ProtocolDataRequestValue

プロトコル データ要求の値。

ProtocolDataRequestSubValue

プロトコル データ要求のサブ値。

ProtocolDataOffset

この構造体の先頭からのデータ バッファーのオフセット。 一般的な値は、sizeof (STORAGE_PROTOCOL_SPECIFIC_DATA)できます。

ProtocolDataLength

プロトコル データの長さ。 ProtocolDataLength >= 512 バイトである必要があります。

FixedProtocolReturnData

返されたデータ。

ProtocolDataRequestSubValue2

最初の追加データ サブ要求値。

ProtocolDataRequestSubValue3

2 番目の追加データ サブ要求値。

ProtocolDataRequestSubValue4

3 番目の追加データ サブ要求値。

備考

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によって定義された列挙値に設定します。
    • ataDataTypeIdentify を使用して、ATA ドライブを識別します。
    • AtaDataTypeLogPage を使用して、ATA ドライブからログ ページを取得します。

必要条件

要件 価値
サポートされる最小クライアント Windows 10
サポートされる最小サーバー Windows Server 2016
ヘッダー ntddstor.h (Ntddstor.h を含む)

関連項目

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT