перечисление STORAGE_PROTOCOL_NVME_DATA_TYPE (ntddstor.h)
Описывает тип данных, относящихся к протоколу NVMe, которые должны запрашиваться во время запроса IOCTL_STORAGE_QUERY_PROPERTY .
Синтаксис
typedef enum _STORAGE_PROTOCOL_NVME_DATA_TYPE {
NVMeDataTypeUnknown,
NVMeDataTypeIdentify,
NVMeDataTypeLogPage,
NVMeDataTypeFeature,
NVMeDataTypeLogPageEx,
NVMeDataTypeFeatureEx
} 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 Извлекается командой GET FEATURES или SET FEATURES. Соответствующие значения в STORAGE_PROTOCOL_SPECIFIC_DATA (get) или STORAGE_PROTOCOL_SPECIFIC_DATA_EXT (set): - ProtocolDataRequestValue — определяется в NVME_CDW10_GET_FEATURES / NVME_CDW10_SET_FEATURES - ProtocolDataRequestSubValue — определяется в NVME_CDW11_FEATURES - ProtocolDataRequestSubValue2 — определяется в NVME_CDW12_FEATURES - ProtocolDataRequestSubValue3 — определяется в NVME_CDW13_FEATURES - ProtocolDataRequestSubValue4 — определяется в NVME_CDW14_FEATURES - ProtocolDataRequestSubValue5 — определяется в NVME_CDW15_FEATURES |
NVMeDataTypeLogPageEx Извлекается по команде — GET LOG PAGE При запросе данных этого типа поля в структуре STORAGE_PROTOCOL_SPECIFIC_DATA_EXT должны иметь следующие значения: - ProtocolDataValue — определяется в NVME_CDW10_GET_LOG_PAGE - ProtocolDataSubValue — определяется в NVME_CDW11_GET_LOG_PAGE - ProtocolDataSubValue2 — определяется в NVME_CDW12_GET_LOG_PAGE - ProtocolDataSubValue3 — определяется в NVME_CDW13_GET_LOG_PAGE - ProtocolDataSubValue4 — определяется в NVME_CDW14_GET_LOG_PAGE - ProtocolDataSubValue5 — определяется в NVME_CDW15_GET_LOG_PAGE (в настоящее время не используется) - ProtocolDataSubValue6 — идентификатор пространства имен. |
NVMeDataTypeFeatureEx Извлекается командой GET FEATURES или SET FEATURES. При запросе данных этого типа поля в структуре STORAGE_PROTOCOL_SPECIFIC_DATA_EXT должны иметь следующие значения: - ProtocolDataValue — определяется в NVME_CDW10_GET_FEATURES / NVME_CDW10_SET_FEATURES - ProtocolDataSubValue — определяется в NVME_CDW11_FEATURES - ProtocolDataSubValue2 — определяется в NVME_CDW12_FEATURES - ProtocolDataSubValue3 — определяется в NVME_CDW13_FEATURES - ProtocolDataSubValue4 — определяется в NVME_CDW14_FEATURES - ProtocolDataSubValue5 — определяется в NVME_CDW15_FEATURES - ProtocolDataSubValue6 — идентификатор пространства имен. |
Комментарии
При использовании 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.
- Используйте NVMeDataTypeLogPageEx для получения страниц журнала (включая данные smart/health) в расширенном формате.
- Используйте NVMeDataTypeFeatureEx для получения функций диска NVMe в расширенном формате.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Windows Server 2016 |
Верхняя часть | ntddstor.h (включая Ntddstor.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по