STORAGE_PROTOCOL_DATA_DESCRIPTOR 構造体 (ntddstor.h)
この構造体は、ストレージ デバイスまたはアダプターからプロトコル固有のデータを設定または照会するために、IOCTL_STORAGE_SET_PROPERTYとIOCTL_STORAGE_QUERY_PROPERTYと組み合わせて使用されます。
構文
typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
ULONG Version;
ULONG Size;
STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;
メンバー
Version
この構造体のバージョン。 sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR) に設定します。
Size
記述子の合計サイズ (すべてのプロトコル データの領域を含む)。 =>sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR) である必要があります。
ProtocolSpecificData
STORAGE_PROTOCOL_SPECIFIC_DATA型のプロトコル固有のデータ。
注釈
IOCTL_STORAGE_QUERY_PROPERTYを使用して STORAGE_PROTOCOL_DATA_DESCRIPTOR 内のプロトコル固有の情報を取得する場合は、 次のようにSTORAGE_PROPERTY_QUERY 構造を構成します。
- STORAGE_PROPERTY_QUERY と STORAGE_PROTOCOL_SPECIFIC_DATA 構造体の両方を含むことができるバッファーを割り当てます。
- コントローラー要求の場合は PropertyID フィールドを StorageAdapterProtocolSpecificProperty に、デバイス/名前空間要求の場合は StorageDeviceProtocolSpecificProperty にそれぞれ設定します。
- QueryType フィールドを PropertyStandardQuery に設定します。
- STORAGE_PROTOCOL_SPECIFIC_DATA 構造体に必要な値を入力します。 STORAGE_PROTOCOL_SPECIFIC_DATA の先頭は STORAGE_PROPERTY_QUERY の AdditionalParameters フィールドです。
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 | ntddstor.h (Ntddstor.h を含む) |