Partager via


Fonction ScsiPortIoMapTransfer (srb.h)

La routine ScsiPortIoMapTransfer configure le contrôleur DMA système pour un pilote miniport afin de transférer des données via un HBA subordonné.

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 VOID ScsiPortIoMapTransfer(
  [in] PVOID               HwDeviceExtension,
  [in] PSCSI_REQUEST_BLOCK Srb,
  [in] PVOID               LogicalAddress,
  [in] ULONG               Length
);

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 à HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées du HBA. Cette zone est disponible pour le pilote miniport dans le membre DeviceExtension-HwDeviceExtension> de l’objet d’appareil du 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] Srb

Pointeur vers le bloc de requête SCSI pour le transfert DMA.

[in] LogicalAddress

Spécifie l’adresse de départ de l’opération de transfert. Cette valeur peut être l’adresse de base d’une mémoire tampon dans laquelle ou à partir de laquelle les données doivent être transférées. Cette valeur peut être un décalage dans une telle mémoire tampon.

[in] Length

Spécifie le nombre d’octets à transférer.

Valeur de retour

None

Remarques

Seuls les pilotes miniport des HBA qui utilisent un contrôleur DMA système (DMA subordonné) appellent ScsiPortIoMapTransfer. Cette routine doit être appelée avant qu’un pilote de miniport de ce type configure son HBA pour transférer des données. La plage spécifiée par LogicalAddress et Length doit se trouver dans la mémoire tampon décrite par le SRB donné.

Une fois que le pilote de port spécifique au système d’exploitation programme le contrôleur DMA système, il appelle la routine HwScsiDmaStarted du pilote miniport. HwScsiDmaStarted doit programmer l’adaptateur HBA pour commencer le transfert de données. Notez qu’un HBA peut interrompre l’appel du pilote miniport à ScsiPortIoMapTransfer et l’appel du pilote de port spécifique au système d’exploitation à la routine HwScsiDmaStarted du pilote miniport.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête srb.h (include Miniport.h, Scsi.h)
Bibliothèque Scsiport.lib

Voir aussi

HwScsiDmaStarted

ScsiPortFlushDma