ScsiPortCompleteRequest function (srb.h)
The ScsiPortCompleteRequest routine completes all of the active requests for the given SCSI bus, controller, or LU, including a request being processed by the calling miniport driver routine.
Syntax
SCSIPORT_API VOID ScsiPortCompleteRequest(
[in] PVOID HwDeviceExtension,
[in] UCHAR PathId,
[in] UCHAR TargetId,
[in] UCHAR Lun,
[in] UCHAR SrbStatus
);
Parameters
[in] HwDeviceExtension
Pointer to the hardware device extension. This is a per-HBA storage area that the port driver allocates and initializes on behalf of the miniport driver. Miniport drivers usually store HBA-specific information in this extension, such as the state of the HBA and the HBA's mapped access ranges. This area is available to the miniport driver in the DeviceExtension->HwDeviceExtension member of the HBA's device object immediately after the miniport driver calls ScsiPortInitialize. The port driver frees this memory when it removes the device.
[in] PathId
Identifies the SCSI bus; SP_UNTAGGED indicates all buses controlled by the HBA.
[in] TargetId
Identifies the target controller or device on the given buses; SP_UNTAGGED indicates all targets on the bus.
[in] Lun
Identifies the logical unit for the given target controller or device; SP_UNTAGGED indicates all logical units for the given target controllers on the given buses.
[in] SrbStatus
Specifies the completion status to be set in the SrbStatus member of each SRB.
Return value
None
Remarks
ScsiPortCompleteRequest can be called to complete outstanding requests after a bus reset, a device reset, or an abort, rather than calling ScsiPortNotification for each outstanding request individually. After calling ScsiPortCompleteRequest, do not also call ScsiPortNotification.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | srb.h (include Miniport.h, Scsi.h) |
Library | Scsiport.lib |