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_TYPESTORAGE_PROTOCOL_ATA_DATA_TYPE 枚举中定义。

ProtocolDataRequestValue

协议数据请求值。

ProtocolDataRequestSubValue

协议数据请求的子值。

ProtocolDataOffset

此结构开头的数据缓冲区的偏移量。 典型值可以 大小(STORAGE_PROTOCOL_SPECIFIC_DATA)。

ProtocolDataLength

协议数据的长度。 ProtocolDataLength 必须 >= 512 字节。

FixedProtocolReturnData

返回的数据。

ProtocolDataRequestSubValue2

第一个附加数据子请求值。

ProtocolDataRequestSubValue3

第二个附加数据子请求值。

ProtocolDataRequestSubValue4

第三个附加数据子请求值。

言论

使用 IOCTL_STORAGE_QUERY_PROPERTY 检索 STORAGE_PROTOCOL_DATA_DESCRIPTOR中特定于协议的信息时,请按如下所示配置 STORAGE_PROPERTY_QUERY 结构:

  • 分配可以同时包含 STORAGE_PROPERTY_QUERYSTORAGE_PROTOCOL_SPECIFIC_DATA 结构的缓冲区。
  • PropertyID 字段分别设置为 StorageAdapterProtocolSpecificPropertyStorageDeviceProtocolSpecificProperty,分别用于控制器或设备/命名空间请求。
  • QueryType 字段设置为 PropertyStandardQuery
  • 使用所需值填充STORAGE_PROTOCOL_SPECIFIC_DATA结构。 STORAGE_PROTOCOL_SPECIFIC_DATA的开头是 STORAGE_PROPERTY_QUERYAdditionalParameters 字段。

若要指定特定于 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 (包括 Ntddstor.h)

另请参阅

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT