STORAGE_PROTOCOL_DATA_DESCRIPTOR structure (ntddstor.h)
Cette structure est utilisée conjointement avec IOCTL_STORAGE_SET_PROPERTY et IOCTL_STORAGE_QUERY_PROPERTY pour définir ou interroger respectivement des données spécifiques au protocole à partir d’un périphérique de stockage ou d’un adaptateur.
Syntaxe
typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
ULONG Version;
ULONG Size;
STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;
Membres
Version
Version de cette structure. Défini sur sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).
Size
Taille totale en octets du descripteur, y compris l’espace pour toutes les données de protocole. Doit être =>sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).
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 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.
Pour spécifier un type d’informations spécifiques au protocole ATA, configurez la structure STORAGE_PROTOCOL_SPECIFIC_DATA comme suit :
- 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 | ntddstor.h (inclure Ntddstor.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour