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

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

Синтаксис

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

Члены

Version

Версия этой структуры. Задайте для параметра sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

Size

Общий размер дескриптора в байтах, включая пространство для всех данных протокола. Должен иметь значение =>sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

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
Верхняя часть ntddstor.h (включая Ntddstor.h)

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

IOCTL_STORAGE_QUERY_PROPERTY

IOCTL_STORAGE_SET_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT