Share via


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é.

Note 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 .
 

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

Voir aussi

DriverEntry de SCSI Miniport Driver

HW_INITIALIZATION_DATA (SCSI)

ScsiPortInitialize

ScsiPortMoveMemory