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 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 à un 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 DeviceExtension->HwDeviceExtension membre de l’objet d’appareil du HBA immédiatement après l’appel du pilote miniport 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 de retour
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 que cette unité logique n’existe pas, elle retourne null.
Remarques
ScsiPortGetLogicalUnit n’est pas pertinent si la routine DriverEntry du pilote miniport spécifiée zéro pour la LuExtensionSize dans la HW_INITIALIZATION_DATA lorsqu’elle a appelé ScsiPortInitialize. Sinon, le pilote de port spécifique au système d’exploitation alloue et initialise avec zéros un ensemble d’extensions LU de la taille spécifiée pour le pilote miniport à utiliser.
Per-LU stockage peut être utilisé pour stocker des données pertinentes pour un périphérique particulier, par exemple 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 l’opération actuelle pour tout périphérique particulier.
Le pilote de port spécifique au système d’exploitation peut considérer qu’une unité logique n’existe pas s’il n’existe aucune demande active pour cette unité logique et que l’appareil n’a jamais été sélectionné avec succès.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | srb.h (include Miniport.h, Scsi.h) |
bibliothèque | Scsiport.lib |