Condividi tramite


Funzione SCSIPortIoMapTransfer (srb.h)

La routine SCSIPortIoMapTransfer configura il controller DMA di sistema per un driver miniport per trasferire i dati tramite un HBA subordinato.

Nota I modelli di driver di porta SCSI e miniport SCSI possono essere modificati o non disponibili in futuro. È invece consigliabile usare i modelli di driver Storport e Miniport Storport.
 

Sintassi

SCSIPORT_API VOID ScsiPortIoMapTransfer(
  [in] PVOID               HwDeviceExtension,
  [in] PSCSI_REQUEST_BLOCK Srb,
  [in] PVOID               LogicalAddress,
  [in] ULONG               Length
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione per HBA che il driver di porta alloca e inizializza per conto del driver miniport. I driver miniport in genere archiviano informazioni specifiche di HBA in questa estensione, ad esempio lo stato dell'HBA e gli intervalli di accesso mappati di HBA. Questa area è disponibile per il driver miniport nel membro DeviceExtension-HwDeviceExtension> dell'oggetto dispositivo HBA immediatamente dopo che il driver miniport chiama SCSIPortInitialize. Il driver di porta libera questa memoria quando rimuove il dispositivo.

[in] Srb

Puntatore al blocco di richiesta SCSI per il trasferimento DMA.

[in] LogicalAddress

Specifica l'indirizzo iniziale per l'operazione di trasferimento. Questo valore può essere l'indirizzo di base di un buffer in cui o da cui trasferire i dati. Questo valore può essere un offset all'interno di tale buffer.

[in] Length

Specifica il numero di byte da trasferire.

Valore restituito

nessuno

Osservazioni

Solo i driver miniport di HBA che usano un controller DMA di sistema (subordinato DMA) chiamano SCSIPortIoMapTransfer. Questa routine deve essere chiamata prima di configurare tale driver miniport per trasferire i dati. L'intervallo specificato da LogicalAddress e Length deve essere all'interno del buffer descritto da SRB specificato.

Dopo che il driver di porta specifico del sistema operativo programmi il controller DMA del sistema, chiama la routine HwSCSIDmaStarted del driver miniport. HwSCSIDmaStarted deve programmare l'HBA per avviare il trasferimento dei dati. Si noti che un'HBA può interrompere tra la chiamata del driver miniport a SCSIPortIoMapTransfer e la chiamata del driver della porta specifica del sistema operativo alla routine HwSCSIDmaStarted del driver miniport.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione srb.h (include Miniport.h, SCSI.h)
Libreria Scsiport.lib

Vedi anche

HwSCSIDmaStarted

SCSIPortFlushDma