structure STORAGE_PROTOCOL_DATA_DESCRIPTOR (winioctl.h)
Cette structure est utilisée conjointement avec IOCTL_STORAGE_QUERY_PROPERTY pour retourner des données spécifiques au protocole à partir d’un dispositif de stockage ou d’un adaptateur. .
Syntaxe
typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
DWORD Version;
DWORD Size;
STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;
Membres
Version
Version de cette structure.
Size
Taille totale du descripteur, y compris l’espace pour toutes les données de protocole.
ProtocolSpecificData
Données spécifiques au protocole, de type STORAGE_PROTOCOL_SPECIFIC_DATA.
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.
- 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.
- Définissez le champ ProtocolType sur ProtocolTypeAta.
-
Définissez le champ DataType sur une valeur d’énumération définie par STORAGE_PROTOCOL_ATA_DATA_TYPE :
- Utilisez AtaDataTypeIdentify pour identifier le lecteur ATA.
- Utilisez AtaDataTypeLogPage pour obtenir des pages de journal à partir du lecteur ATA.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
En-tête | winioctl.h (inclure Windows.h) |