Compartilhar via


STORAGE_PROTOCOL_NVME_DATA_TYPE enumeração (ntddstor.h)

Descreve o tipo de dados específicos do protocolo NVMe que devem ser consultados durante uma solicitação de IOCTL_STORAGE_QUERY_PROPERTY .

Syntax

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

Constantes

 
NVMeDataTypeUnknown
Tipo de dados desconhecido.
NVMeDataTypeIdentify
Obtenha Identificar dados, que podem ser identificar dados do Controlador ou Identificar dados do namespace.

Quando esse tipo de dados está sendo consultado, os campos na estrutura STORAGE_PROTOCOL_SPECIFIC_DATA devem ter os seguintes valores:

- ProtocolDataRequestValue será NVME_IDENTIFY_CNS_CONTROLLER para adaptador ou NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE para namespace.
- Se ProtocolDataRequestValue for NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE, o campo ProtocolDataRequestSubValue especificará a ID do namespace. (Observe que atualmente não há suporte para NVME_IDENTIFY_CNS_ACTIVE_NAMESPACES .)
NVMeDataTypeLogPage
Obter uma página de log NVMe.

Quando esse tipo de dados está sendo consultado, os campos na estrutura STORAGE_PROTOCOL_SPECIFIC_DATA devem ter os seguintes valores:

- ProtocolDataRequestValue é o identificador da página de log a ser recuperada.
- ProtocolDataRequestSubValue é o valor inferior de 32 bits do deslocamento em uma página de log da qual começar a retornar dados.
- ProtocolDataRequestSubValue2 é o valor superior de 32 bits do deslocamento em uma página de log da qual começar a retornar dados.
- ProtocolDataRequestSubValue3 é o identificador específico do log necessário para uma página de log específica.
- ProtocolDataRequestSubValue4 é uma estrutura STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE que permite que informações adicionais sejam especificadas ao obter a página de log.
NVMeDataTypeFeature
Recuperado pelo comando – GET FEATURES ou SET FEATURES

Valores correspondentes em STORAGE_PROTOCOL_SPECIFIC_DATA (get) ou STORAGE_PROTOCOL_SPECIFIC_DATA_EXT (set):

- ProtocolDataRequestValue - Definido em NVME_CDW10_GET_FEATURES/NVME_CDW10_SET_FEATURES
- ProtocolDataRequestSubValue – definido em NVME_CDW11_FEATURES
- ProtocolDataRequestSubValue2 – definido em NVME_CDW12_FEATURES
- ProtocolDataRequestSubValue3 – definido em NVME_CDW13_FEATURES
- ProtocolDataRequestSubValue4 – definido em NVME_CDW14_FEATURES
- ProtocolDataRequestSubValue5 – definido em NVME_CDW15_FEATURES
NVMeDataTypeLogPageEx
Recuperado por comando – GET LOG PAGE

Quando esse tipo de dados está sendo consultado, os campos na estrutura STORAGE_PROTOCOL_SPECIFIC_DATA_EXT devem ter os seguintes valores:

- ProtocolDataValue – definido em NVME_CDW10_GET_LOG_PAGE
- ProtocolDataSubValue – definido em NVME_CDW11_GET_LOG_PAGE
- ProtocolDataSubValue2 – definido em NVME_CDW12_GET_LOG_PAGE
- ProtocolDataSubValue3 – definido em NVME_CDW13_GET_LOG_PAGE
- ProtocolDataSubValue4 – definido em NVME_CDW14_GET_LOG_PAGE
- ProtocolDataSubValue5 – definido em NVME_CDW15_GET_LOG_PAGE (não usado atualmente)
- ProtocolDataSubValue6 – ID do namespace
NVMeDataTypeFeatureEx
Recuperado pelo comando – GET FEATURES ou SET FEATURES

Quando esse tipo de dados está sendo consultado, os campos na estrutura STORAGE_PROTOCOL_SPECIFIC_DATA_EXT devem ter os seguintes valores:

- ProtocolDataValue - Definido em NVME_CDW10_GET_FEATURES/NVME_CDW10_SET_FEATURES
- ProtocolDataSubValue – definido em NVME_CDW11_FEATURES
- ProtocolDataSubValue2 – definido em NVME_CDW12_FEATURES
- ProtocolDataSubValue3 – Definido em NVME_CDW13_FEATURES
- ProtocolDataSubValue4 – definido em NVME_CDW14_FEATURES
- ProtocolDataSubValue5 – definido em NVME_CDW15_FEATURES
- ProtocolDataSubValue6 – ID do namespace

Comentários

Ao usar IOCTL_STORAGE_QUERY_PROPERTY para recuperar informações específicas do protocolo no STORAGE_PROTOCOL_DATA_DESCRIPTOR, configure a estrutura STORAGE_PROPERTY_QUERY da seguinte maneira:

  • Aloque um buffer que possa conter uma estrutura STORAGE_PROPERTY_QUERY e uma STORAGE_PROTOCOL_SPECIFIC_DATA.

  • Defina o campo PropertyID como StorageAdapterProtocolSpecificProperty ou StorageDeviceProtocolSpecificProperty para um controlador ou solicitação de dispositivo/namespace, respectivamente.

  • Defina o campo QueryType como PropertyStandardQuery.

  • Preencha a estrutura STORAGE_PROTOCOL_SPECIFIC_DATA com os valores desejados. O início da STORAGE_PROTOCOL_SPECIFIC_DATA é o campo AdditionalParameters da STORAGE_PROPERTY_QUERY.

Para especificar um tipo de informações específicas do protocolo NVMe, configure a estrutura STORAGE_PROTOCOL_SPECIFIC_DATA da seguinte maneira:

  • Defina o campo ProtocolType como ProtocolTypeNVMe.

  • Defina o campo DataType como um valor de enumeração definido por STORAGE_PROTOCOL_NVME_DATA_TYPE:

    • Use NVMeDataTypeIdentify para obter dados do Controlador de identificação ou dados do Namespace de identificação.
    • Use NVMeDataTypeLogPage para obter páginas de log (incluindo dados INTELIGENTES/integridade).
    • Use NVMeDataTypeFeature para obter recursos da unidade NVMe.
    • Use NVMeDataTypeLogPageEx para obter páginas de log (incluindo dados SMART/health) usando formato estendido.
    • Use NVMeDataTypeFeatureEx para obter recursos da unidade NVMe usando formato estendido.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Servidor mínimo com suporte Windows Server 2016
Cabeçalho ntddstor.h (inclua Ntddstor.h)

Confira também