Return from HwScsiStartIo
Every HwScsiStartIo routine must return TRUE, indicating that the input request was processed.
If the HwScsiStartIo routine cannot carry out a requested operation when it is called, HwScsiStartIo should do the following:
Set the input SRB's SrbStatus to SRB_STATUS_BUSY.
Call ScsiPortNotification with the NotificationTypeRequestComplete and with the input SRB.
Call ScsiPortNotification with the NotificationTypeNextRequest if the driver can accept a request to a different target logical unit than the one in the just completed SRB.
Return TRUE.
The port driver resubmits any request returned with the SrbStatus value SRB_STATUS_BUSY to the miniport driver's HwScsiStartIo routine later.
Eventually, every miniport driver must call ScsiPortNotification twice for each SRB input to its HwScsiStartIo routine: first, to complete the request (NotificationTypeRequestComplete) and, second, to tell the port driver to call the HwScsiStartIo routine again with the next SRB (NotificationTypeNextRequest or NextLuRequest).
The HwScsiStartIo routine of a miniport driver that manages its HBA exclusively by polling calls ScsiPortNotification with the NotificationTypeRequestTimerCall and a pointer to its HwScsiTimer routine. For more information about the HwScsiTimer routine, see SCSI Miniport Driver's HwScsiTimer Routine.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for