STORAGE_PROTOCOL_SPECIFIC_DATA 結構 (winioctl.h)
描述 IOCTL_STORAGE_QUERY_PROPERTY要求的輸入和輸出 緩衝區中提供的通訊協定特定裝置資料。
語法
typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
STORAGE_PROTOCOL_TYPE ProtocolType;
DWORD DataType;
DWORD ProtocolDataRequestValue;
DWORD ProtocolDataRequestSubValue;
DWORD ProtocolDataOffset;
DWORD ProtocolDataLength;
DWORD FixedProtocolReturnData;
DWORD ProtocolDataRequestSubValue2;
DWORD ProtocolDataRequestSubValue3;
DWORD 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
通訊協定資料的長度。
FixedProtocolReturnData
傳回的資料。
ProtocolDataRequestSubValue2
ProtocolDataRequestSubValue3
ProtocolDataRequestSubValue4
備註
使用 IOCTL_STORAGE_QUERY_PROPERTY 擷取 STORAGE_PROTOCOL_DATA_DESCRIPTOR中的通訊協定特定資訊時,請設定 STORAGE_PROPERTY_QUERY 結構,如下所示:
- 配置可以同時包含 STORAGE_PROPERTY_QUERY 和 STORAGE_PROTOCOL_SPECIFIC_DATA 結構的緩衝區。
- 將 PropertyID 欄位分別設定為 Controller 或裝置/命名空間要求的 StorageAdapterProtocolSpectocolSpecificProperty 或 StorageDeviceProtocolProperty 。
- 將 QueryType 欄位設定為 PropertyStandardQuery。
- 使用所需的值填入 STORAGE_PROTOCOL_SPECIFIC_DATA 結構。 STORAGE_PROTOCOL_SPECIFIC_DATA的開頭是STORAGE_PROPERTY_QUERY的AdditionalParameters欄位。
- 將 [ ProtocolType ] 欄位設定為 ProtocolTypeNVMe。
-
將 DataType 欄位設定為 STORAGE_PROTOCOL_NVME_DATA_TYPE所定義的列舉值:
- 使用 NVMeDataTypeIdentify 取得識別控制器資料或識別命名空間資料。
- 使用 NVMeDataTypeLogPage 取得記錄頁 (包括 SMART/health 資料) 。
- 使用 NVMeDataTypeFeature 取得 NVMe 磁片磁碟機的功能。
- 將 [ ProtocolType] 欄位設定為 ProtocolTypeAta。
-
將 DataType 欄位設定為 STORAGE_PROTOCOL_ATA_DATA_TYPE所定義的列舉值:
- 使用 AtaDataTypeIdentify 來識別 ATA 磁片磁碟機。
- 使用 AtaDataTypeLogPage 從 ATA 磁片磁碟機取得記錄頁。
規格需求
最低支援的用戶端 | Windows 10 |
最低支援的伺服器 | Windows Server 2016 |
標頭 | winioctl.h (包含 Windows.h) |