IOCTL_SCSI_GET_INQUIRY_DATA IOCTL (ntddscsi.h)
Retourne les données d’interrogation SCSI pour tous les appareils sur un adaptateur de bus hôte (HBA) SCSI donné. Si le IOCTL est utilisé dans l’espace utilisateur, le programme doit avoir ouvert un handle à l’adaptateur HBA, qui peut être énuméré par différents moyens, tels que les appels SetupDixxx. Vous pouvez utiliser IOCTL_STORAGE_QUERY_PROPERTY pour trouver des informations sur un appareil spécifique sur l’adaptateur HBA. Pour déterminer la taille de la mémoire tampon de sortie requise, l’appelant doit envoyer cette requête IOCTL dans une boucle. Chaque fois que la pile de stockage rejette le IOCTL avec un message d’erreur indiquant que la mémoire tampon était trop petite, l’appelant doit doubler la taille de la mémoire tampon.
Code principal
Mémoire tampon d'entrée
Aucun.
Longueur de la mémoire tampon d’entrée
Aucun.
Mémoire tampon de sortie
La mémoire tampon dans Irp-AssociatedIrp.SystemBuffer> contient les données d’interrogation retournées. Pour obtenir une description de la disposition des données d’interrogation dans la mémoire tampon de sortie, consultez SCSI_ADAPTER_BUS_INFO.
Longueur de la mémoire tampon de sortie
Parameters.DeviceIoControl.OutputBufferLength indique la taille, en octets, de la mémoire tampon, qui doit être >= (sizeof(SCSI_ADAPTER_BUS_INFO) + (NumberOfBuses) * sizeof(SCSI_BUS_DATA)) + (InquiryDataSize * NumberOfLUs), où inquiryDataSize est (sizeof(SCSI_INQUIRY_DATA) - 1 + INQUIRYDATABUFFERSIZE) arrondi à une limite d’alignement.
Bloc d’état
Le champ Informations contient le nombre d’octets retournés dans la mémoire tampon de sortie. Le champ État indique les résultats de l’opération.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddscsi.h (inclure Ntddscsi.h) |