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
第二個額外的數據子要求值。
ProtocolDataRequestSubValue4
第三個額外的數據子要求值。
言論
使用 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/health 數據)。
- 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 (include Ntddstor.h) |