Expand Minimize

ScsiPortCompleteRequest routine

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


VOID ScsiPortCompleteRequest(
  _In_  PVOID HwDeviceExtension,
  _In_  UCHAR PathId,
  _In_  UCHAR TargetId,
  _In_  UCHAR Lun,
  _In_  UCHAR SrbStatus
);

Parameters

HwDeviceExtension [in]

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.

PathId [in]

Identifies the SCSI bus; SP_UNTAGGED indicates all buses controlled by the HBA.

TargetId [in]

Identifies the target controller or device on the given buses; SP_UNTAGGED indicates all targets on the bus.

Lun [in]

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.

SrbStatus [in]

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

Header

Srb.h (include Miniport.h or Scsi.h)

Library

Scsiport.lib

See also

SCSI_REQUEST_BLOCK
ScsiPortNotification

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft