структура STORAGE_PROTOCOL_DATA_DESCRIPTOR (winioctl.h)

Эта структура используется в сочетании с IOCTL_STORAGE_QUERY_PROPERTY для возврата данных, относящихся к протоколу, из запоминающего устройства или адаптера. .

Синтаксис

typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
  DWORD                          Version;
  DWORD                          Size;
  STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;

Члены

Version

Версия этой структуры.

Size

Общий размер дескриптора, включая пространство для всех данных протокола.

ProtocolSpecificData

Данные, относящиеся к протоколу, типа STORAGE_PROTOCOL_SPECIFIC_DATA.

Комментарии

При использовании 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 является поле AdditionalParametersSTORAGE_PROPERTY_QUERY.
Чтобы указать тип сведений, относящихся к протоколу 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
Верхняя часть winioctl.h (включая Windows.h)

См. также раздел

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA