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) |