Access to Scatter/Gather Lists in the Storport I/O Model
The SCSI Port driver has complete access to a set of scatter/gather list structures that define the memory ranges and physical addresses of an SRB. However, miniport drivers that work with the SCSI Port driver do not. The SCSI Port I/O model forces a miniport driver to manually discover and build its own scatter/gather list through repeated calls to the ScsiPortGetPhysicalAddress routine.
The Storport I/O model provides its miniport drivers with direct access to the system's scatter/gather list structure, reducing the number of calls that the miniport driver has to make to port driver support routines to build its private scatter/gather list.
The scatter/gather list that StorPortGetScatterGatherList returns is valid only until the SRB is completed.
The miniport driver does not have to free the memory for the scatter/gather list that StorPortGetScatterGatherList returns.
The miniport driver should perform any necessary translation of the scatter/gather list supplied by Storport to a miniport driver-specific format in the miniport driver's HwStorBuildIo routine.