перечисление STORAGE_PROTOCOL_NVME_DATA_TYPE (winioctl.h)

Описывает тип данных, относящихся к протоколу NVMe, которые будут запрашиваться во время запроса IOCTL_STORAGE_QUERY_PROPERTY .

Синтаксис

typedef enum _STORAGE_PROTOCOL_NVME_DATA_TYPE {
  NVMeDataTypeUnknown = 0,
  NVMeDataTypeIdentify,
  NVMeDataTypeLogPage,
  NVMeDataTypeFeature,
  NVMeDataTypeLogPageEx,
  NVMeDataTypeFeatureEx
} STORAGE_PROTOCOL_NVME_DATA_TYPE, *PSTORAGE_PROTOCOL_NVME_DATA_TYPE;

Константы

 
NVMeDataTypeUnknown
Значение: 0
Неизвестный тип данных.
NVMeDataTypeIdentify
Определение типа данных. Это могут быть данные идентификации контроллера или идентификация данных пространства имен. При запросе данных этого типа поле ProtocolDataRequestValue STORAGE_PROTOCOL_SPECIFIC_DATA будет иметь значение NVME_IDENTIFY_CNS_CONTROLLER для адаптера или NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE для пространства имен. Если значение ProtocolDataRequestValue NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE, поле ProtocolDataRequestSubValue из структуры STORAGE_PROTOCOL_SPECIFIC_DATA будет иметь значение идентификатора пространства имен.
NVMeDataTypeLogPage
Тип данных страницы журнала.
NVMeDataTypeFeature
Тип данных компонента.

Комментарии

При использовании 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.

Требования

   
Минимальная версия клиента Windows 10 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Верхняя часть winioctl.h (включая Windows.h)

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