énumération STORAGE_PROTOCOL_NVME_DATA_TYPE (winioctl.h)

Décrit le type de données spécifiques au protocole NVMe à interroger lors d’une demande IOCTL_STORAGE_QUERY_PROPERTY.

Syntax

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

Constantes

 
NVMeDataTypeUnknown
Valeur : 0
Type de données inconnu.
NVMeDataTypeIdentify
Identifiez le type de données. Il peut s’agir de données d’identification du contrôleur ou d’identification des données d’espace de noms. Lorsque ce type de données est interrogé, le champ ProtocolDataRequestValue de STORAGE_PROTOCOL_SPECIFIC_DATA a la valeur NVME_IDENTIFY_CNS_CONTROLLER pour l’adaptateur ou NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE pour l’espace de noms. Si ProtocolDataRequestValue est NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE, le champ ProtocolDataRequestSubValue de la structure STORAGE_PROTOCOL_SPECIFIC_DATA aura une valeur de l’ID d’espace de noms.
NVMeDataTypeLogPage
Type de données de page de journal.
NVMeDataTypeFeature
Type de données de fonctionnalité.

Remarques

Lorsque vous utilisez IOCTL_STORAGE_QUERY_PROPERTY pour récupérer des informations spécifiques au protocole dans le STORAGE_PROTOCOL_DATA_DESCRIPTOR, configurez la structure de STORAGE_PROPERTY_QUERY comme suit :

  • Allouez une mémoire tampon qui peut contenir à la fois une structure STORAGE_PROPERTY_QUERY et une structure STORAGE_PROTOCOL_SPECIFIC_DATA.
  • Définissez le champ PropertyID sur StorageAdapterProtocolSpecificProperty ou StorageDeviceProtocolSpecificProperty pour une demande de contrôleur ou de périphérique/espace de noms, respectivement.
  • Définissez le champ QueryType sur PropertyStandardQuery.
  • Remplissez la structure STORAGE_PROTOCOL_SPECIFIC_DATA avec les valeurs souhaitées. Le début de STORAGE_PROTOCOL_SPECIFIC_DATA est le champ AdditionalParameters de STORAGE_PROPERTY_QUERY.

Pour spécifier un type d’informations spécifiques au protocole NVMe, configurez la structure STORAGE_PROTOCOL_SPECIFIC_DATA comme suit :

  • Définissez le champ ProtocolType sur ProtocolTypeNVMe.
  • Définissez le champ DataType sur une valeur d’énumération définie par STORAGE_PROTOCOL_NVME_DATA_TYPE :
    • Utilisez NVMeDataTypeIdentify pour obtenir les données d’identification du contrôleur ou d’identification de l’espace de noms.
    • Utilisez NVMeDataTypeLogPage pour obtenir des pages de journal (y compris les données SMART/d’intégrité).
    • Utilisez NVMeDataTypeFeature pour obtenir les fonctionnalités du lecteur NVMe.

Configuration requise

   
Client minimal pris en charge Windows 10 (applications de bureau uniquement)
Serveur minimal pris en charge Windows Server 2016 (applications de bureau uniquement)
En-tête winioctl.h (inclure Windows.h)

Voir aussi