STORAGE_PROTOCOL_NVME_DATA_TYPE列挙 (winioctl.h)
IOCTL_STORAGE_QUERY_PROPERTY 要求中にクエリを実行する NVMe プロトコル固有のデータの種類について説明します。
構文
typedef enum _STORAGE_PROTOCOL_NVME_DATA_TYPE {
NVMeDataTypeUnknown = 0,
NVMeDataTypeIdentify,
NVMeDataTypeLogPage,
NVMeDataTypeFeature,
NVMeDataTypeLogPageEx,
NVMeDataTypeFeatureEx
} STORAGE_PROTOCOL_NVME_DATA_TYPE, *PSTORAGE_PROTOCOL_NVME_DATA_TYPE;
定数
NVMeDataTypeUnknown 値: 0 不明なデータ型。 |
NVMeDataTypeIdentify データ型を識別します。 これは、コントローラー データの識別または名前空間データの識別のいずれかです。 この種類のデータに対してクエリを実行すると、 STORAGE_PROTOCOL_SPECIFIC_DATA の ProtocolDataRequestValue フィールドの値は、アダプターの 場合は NVME_IDENTIFY_CNS_CONTROLLER 、名前空間の 場合はNVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE になります。 ProtocolDataRequestValue が NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACEされている場合、 STORAGE_PROTOCOL_SPECIFIC_DATA 構造体の ProtocolDataRequestSubValue フィールドには名前空間 ID の値が設定されます。 |
NVMeDataTypeLogPage ログ ページのデータ型。 |
NVMeDataTypeFeature 特徴データ型。 |
解説
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 ドライブの機能を取得します。
要件
サポートされている最小のクライアント | Windows 10 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
Header | winioctl.h (Windows.h を含む) |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示