Partager via


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

IRP_MJ_DEVICE_CONTROL

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)

Voir aussi

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME