IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)
Envoie une fonction de contrôle spéciale à un pilote miniport spécifique à l’adaptateur de bus hôte (HBA). Les résultats varient en fonction du pilote de miniport vers lequel cette demande est transférée. Si l’appelant spécifie une longueur différente de zéro, la mémoire tampon d’entrée ou de sortie doit être au moins (sizeof(SRB_IO_CONTROL) + DataBufferLength)).
La méthode prescrite pour ouvrir l’adaptateur HBA consiste à utiliser les API SetupDiXxx pour obtenir tous les appareils de classe ScsiAdapter en cours d’exécution. Obtenez les propriétés de chacun pour leur appareil instance nom et ouvrez directement l’adaptateur HBA. SCSI%d (par exemple, \\.\Scsi0 :) est un lien symbolique et non tous les pilotes de stockage créent le lien.
Notes
Les modèles de pilote de port SCSI et de pilote miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser les modèles de pilote Storport et de pilote Miniport Storport .
Code principal
Mémoire tampon d'entrée
La mémoire tampon sur Irp-AssociatedIrp.SystemBuffer> doit contenir une structure SRB_IO_CONTROL.
Longueur de la mémoire tampon d’entrée
Parameters.DeviceIoControl.InputBufferLength indique la taille, en octets, de la mémoire tampon, qui doit être au moins sizeof(SRB_IO_CONTROL), avec un stockage supplémentaire pour les données si le champ Length est différent de zéro.
Mémoire tampon de sortie
Une structure SRB_IO_CONTROL mise à jour est retournée à la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>.
Longueur de la mémoire tampon de sortie
Longueur de la structure SRB_IO_CONTROL .
Mémoire tampon d’entrée/sortie
Aucun.
Longueur de la mémoire tampon d’entrée/sortie
Non applicable.
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) |