Fonction ScsiPortGetLogicalUnit (srb.h)
La routine ScsiPortGetLogicalUnit retourne un pointeur vers la zone de stockage par lu du pilote miniport pour un périphérique donné.
Syntaxe
SCSIPORT_API PVOID ScsiPortGetLogicalUnit(
[in] PVOID HwDeviceExtension,
[in] UCHAR PathId,
[in] UCHAR TargetId,
[in] UCHAR Lun
);
Paramètres
[in] HwDeviceExtension
Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par adaptateur HBA que le pilote de port alloue et initialise pour le compte du pilote miniport. Les pilotes miniport stockent généralement des informations spécifiques à L’adaptateur HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées de l’adaptateur HBA. Cette zone est disponible pour le pilote miniport dans le membre DeviceExtension-HwDeviceExtension> de l’objet d’appareil de l’adaptateur HBA immédiatement après que le pilote miniport a appelé ScsiPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.
[in] PathId
Identifie le bus SCSI.
[in] TargetId
Identifie le contrôleur ou l’appareil cible sur le bus.
[in] Lun
Identifie le numéro d’unité logique de l’appareil cible.
Valeur retournée
ScsiPortGetLogicalUnit retourne un pointeur vers la zone de stockage du pilote miniport pour l’unité logique demandée. Si le pilote de port spécifique au système d’exploitation considère cette unité logique comme inexistante, il retourne NULL.
Remarques
ScsiPortGetLogicalUnit n’est pas pertinent si la routine DriverEntry du pilote miniport a spécifié zéro pour le LuExtensionSize dans le HW_INITIALIZATION_DATA lorsqu’elle a appelé ScsiPortInitialize. Sinon, le pilote de port spécifique au système d’exploitation alloue et initialise avec des zéros un ensemble d’extensions lu de la taille spécifiée pour le pilote miniport à utiliser.
Le stockage par lu peut être utilisé pour stocker des données pertinentes pour un périphérique particulier, comme des pointeurs de données enregistrés. Pour accéder à cette zone, le pilote miniport appelle ScsiPortGetLogicalUnit lorsque le pilote conserve des informations sur l’état ou le fonctionnement en cours pour un périphérique particulier.
Le pilote de port spécifique au système d’exploitation peut considérer qu’une unité logique est inexistante s’il n’y a pas de demande active pour cette unité logique et que l’appareil n’a jamais été sélectionné avec succès.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | srb.h (inclure Miniport.h, Scsi.h) |
Bibliothèque | Scsiport.lib |