Partager via


Fonction ScsiPortIoMapTransfer (srb.h)

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

Remarque Le pilote de port SCSI et les modèles de pilotes miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser le du pilote Storport et modèles de pilotes Storport miniport.
 

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 à 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] 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

Aucun

Remarques

Seuls les pilotes miniport des HBA qui utilisent un appel DMA système (DMA subordonné) ScsiPortIoMapTransfer. Cette routine doit être appelée avant qu’un pilote miniport configure son HBA pour transférer des données. La plage spécifiée par le 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.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête srb.h (include Miniport.h, Scsi.h)
bibliothèque Scsiport.lib

Voir aussi

HwScsiDmaStarted

ScsiPortFlushDma