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

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

Синтаксис

typedef enum _STORAGE_PROTOCOL_NVME_DATA_TYPE {
  NVMeDataTypeUnknown,
  NVMeDataTypeIdentify,
  NVMeDataTypeLogPage,
  NVMeDataTypeFeature
} STORAGE_PROTOCOL_NVME_DATA_TYPE, *PSTORAGE_PROTOCOL_NVME_DATA_TYPE;

Константы

 
NVMeDataTypeUnknown
Неизвестный тип данных.
NVMeDataTypeIdentify
Получение данных идентификации, которые могут быть данными о контроллере идентификации или данными пространства имен идентификации.

При запросе данных этого типа поля в структуре STORAGE_PROTOCOL_SPECIFIC_DATA должны иметь следующие значения:

* Значение ProtocolDataRequestValue будет NVME_IDENTIFY_CNS_CONTROLLER для адаптера или NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE для пространства имен.
* Если значение ProtocolDataRequestValueNVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE, в поле ProtocolDataRequestSubValue указывается идентификатор пространства имен. (Обратите внимание, что NVME_IDENTIFY_CNS_ACTIVE_NAMESPACES в настоящее время не поддерживается.)
NVMeDataTypeLogPage
Получение страницы журнала NVMe.

При запросе данных этого типа поля в структуре STORAGE_PROTOCOL_SPECIFIC_DATA должны иметь следующие значения:

* ProtocolDataRequestValue — это идентификатор извлекаемой страницы журнала.
* ProtocolDataRequestSubValue — это меньшее 32-разрядное значение смещения на странице журнала, с которой начинается возврат данных.
* ProtocolDataRequestSubValue2 — это верхнее 32-разрядное значение смещения на странице журнала, с которой начинается возврат данных.
* ProtocolDataRequestSubValue3 — это идентификатор журнала, необходимый для определенной страницы журнала.
* ProtocolDataRequestSubValue4 — это структура STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE , которая позволяет указывать дополнительные сведения при получении страницы журнала.
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
Верхняя часть ntddstor.h (включая Ntddstor.h)

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

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE

STORAGE_PROTOCOL_SPECIFIC_DATA