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