IOCTL_STORAGE_QUERY_PROPERTY IOCTL (ntddstor.h)
Un pilote peut utiliser IOCTL_STORAGE_QUERY_PROPERTY pour retourner les propriétés d’un périphérique de stockage ou d’un adaptateur. La demande indique le type d’informations à récupérer, telles que les données de demande d’un appareil ou les fonctionnalités et les limitations d’un adaptateur. IOCTL_STORAGE_QUERY_PROPERTY peut également être utilisé pour déterminer si le pilote de port prend en charge une propriété particulière ou quels champs du descripteur de propriété peuvent être modifiés avec une demande de modification de propriété suivante.
Code principal
Mémoire tampon d'entrée
Parameters.DeviceIoControl.InputBufferLength indique la taille, en octets, de la mémoire tampon de paramètres sur Irp-AssociatedIrp.SystemBuffer>, qui doit être >= sizeof(STORAGE_PROPERTY_QUERY).
Irp->AssociatedIrp.SystemBuffer contient STORAGE_PROPERTY_QUERY données qui spécifient s’il faut interroger l’appareil ou l’adaptateur, le type de requête à effectuer et tous les paramètres supplémentaires requis pour la requête, tels que le code de page d’une page d’affichage en mode SCSI spécifique. Les propriétés de l’appareil doivent être récupérées uniquement à partir d’un appareil ; La tentative de récupération des propriétés d’un appareil à partir d’un adaptateur entraîne une erreur.
Parameters.DeviceIoControl.OutputBufferLength indique le nombre d’octets pouvant être écrits dans Irp-AssociatedIrp.SystemBuffer>. OutputBufferLength peut être égal à zéro pour déterminer si une propriété existe sans récupérer ses données.
Longueur de la mémoire tampon d’entrée
Parameters.DeviceIoControl.InputBufferLength indique la taille, en octets, de la mémoire tampon de paramètres sur Irp-AssociatedIrp.SystemBuffer>, qui doit être >= sizeof(STORAGE_PROPERTY_QUERY).
Mémoire tampon de sortie
Le pilote retourne des données de requête à la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>. Différentes quantités de données spécifiques au bus peuvent être ajoutées à la structure.
Longueur de la mémoire tampon de sortie
Castez la structure retournée dans un STORAGE_DESCRIPTOR_HEADER et case activée son membre Size pour déterminer le nombre d’octets dont la structure a réellement besoin.
Bloc d’état
Le champ Informations est défini sur le nombre d’octets retournés. Le champ État est défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER ou STATUS_NOT_SUPPORTED.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddstor.h (inclure Ntddstor.h) |