ホーム › System.Ioctl › STORAGE_PROTOCOL_NVME_DATA_TYPE
STORAGE_PROTOCOL_NVME_DATA_TYPE
列挙型メンバー 6
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| NVMeDataTypeUnknown | 0 | 0x0 | 不明なデータ型です。 |
| NVMeDataTypeIdentify | 1 | 0x1 | Identify データ型です。これは Identify Controller データまたは Identify Namespace データのいずれかになります。この種類のデータを照会する場合、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 | 2 | 0x2 | ログ ページのデータ型です。 |
| NVMeDataTypeFeature | 3 | 0x3 | 機能 (Feature) のデータ型です。 |
| NVMeDataTypeLogPageEx | 4 | 0x4 | |
| NVMeDataTypeFeatureEx | 5 | 0x5 |
公式ドキュメント
IOCTL_STORAGE_QUERY_PROPERTY 要求の実行時に照会する、NVMe プロトコル固有データの種類を示します。
解説(Remarks)
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 で定義されている列挙値を設定します。
- Identify Controller データまたは Identify Namespace データを取得するには NVMeDataTypeIdentify を使用します。
- ログ ページ (SMART/ヘルス データを含む) を取得するには NVMeDataTypeLogPage を使用します。
- NVMe ドライブの機能を取得するには NVMeDataTypeFeature を使用します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum STORAGE_PROTOCOL_NVME_DATA_TYPE : int {
NVMeDataTypeUnknown = 0,
NVMeDataTypeIdentify = 1,
NVMeDataTypeLogPage = 2,
NVMeDataTypeFeature = 3,
NVMeDataTypeLogPageEx = 4,
NVMeDataTypeFeatureEx = 5
} STORAGE_PROTOCOL_NVME_DATA_TYPE;public enum STORAGE_PROTOCOL_NVME_DATA_TYPE : int
{
NVMeDataTypeUnknown = 0,
NVMeDataTypeIdentify = 1,
NVMeDataTypeLogPage = 2,
NVMeDataTypeFeature = 3,
NVMeDataTypeLogPageEx = 4,
NVMeDataTypeFeatureEx = 5,
}Public Enum STORAGE_PROTOCOL_NVME_DATA_TYPE As Integer
NVMeDataTypeUnknown = 0
NVMeDataTypeIdentify = 1
NVMeDataTypeLogPage = 2
NVMeDataTypeFeature = 3
NVMeDataTypeLogPageEx = 4
NVMeDataTypeFeatureEx = 5
End Enumimport enum
class STORAGE_PROTOCOL_NVME_DATA_TYPE(enum.IntEnum):
NVMeDataTypeUnknown = 0
NVMeDataTypeIdentify = 1
NVMeDataTypeLogPage = 2
NVMeDataTypeFeature = 3
NVMeDataTypeLogPageEx = 4
NVMeDataTypeFeatureEx = 5// STORAGE_PROTOCOL_NVME_DATA_TYPE
pub const NVMeDataTypeUnknown: i32 = 0;
pub const NVMeDataTypeIdentify: i32 = 1;
pub const NVMeDataTypeLogPage: i32 = 2;
pub const NVMeDataTypeFeature: i32 = 3;
pub const NVMeDataTypeLogPageEx: i32 = 4;
pub const NVMeDataTypeFeatureEx: i32 = 5;// STORAGE_PROTOCOL_NVME_DATA_TYPE
const (
NVMeDataTypeUnknown int32 = 0
NVMeDataTypeIdentify int32 = 1
NVMeDataTypeLogPage int32 = 2
NVMeDataTypeFeature int32 = 3
NVMeDataTypeLogPageEx int32 = 4
NVMeDataTypeFeatureEx int32 = 5
)const
NVMeDataTypeUnknown = 0;
NVMeDataTypeIdentify = 1;
NVMeDataTypeLogPage = 2;
NVMeDataTypeFeature = 3;
NVMeDataTypeLogPageEx = 4;
NVMeDataTypeFeatureEx = 5;// STORAGE_PROTOCOL_NVME_DATA_TYPE
pub const NVMeDataTypeUnknown: i32 = 0;
pub const NVMeDataTypeIdentify: i32 = 1;
pub const NVMeDataTypeLogPage: i32 = 2;
pub const NVMeDataTypeFeature: i32 = 3;
pub const NVMeDataTypeLogPageEx: i32 = 4;
pub const NVMeDataTypeFeatureEx: i32 = 5;const
NVMeDataTypeUnknown* = 0
NVMeDataTypeIdentify* = 1
NVMeDataTypeLogPage* = 2
NVMeDataTypeFeature* = 3
NVMeDataTypeLogPageEx* = 4
NVMeDataTypeFeatureEx* = 5enum STORAGE_PROTOCOL_NVME_DATA_TYPE : int {
NVMeDataTypeUnknown = 0,
NVMeDataTypeIdentify = 1,
NVMeDataTypeLogPage = 2,
NVMeDataTypeFeature = 3,
NVMeDataTypeLogPageEx = 4,
NVMeDataTypeFeatureEx = 5,
}#define global NVMeDataTypeUnknown 0x0
#define global NVMeDataTypeIdentify 0x1
#define global NVMeDataTypeLogPage 0x2
#define global NVMeDataTypeFeature 0x3
#define global NVMeDataTypeLogPageEx 0x4
#define global NVMeDataTypeFeatureEx 0x5