A HwScsiStartIo routine is also responsible for handling incoming SRBs with the Function member set to SRB_FUNCTION_ABORT_COMMAND.
For an abort request, the miniport’s HwScsiStartIo routine should verify that the given SRB has not been aborted already by calling ScsiPortGetSrb for the target logical unit and comparing the returned pointer to the current SRB’s NextSrb value. If they are unequal, the current SRB has already been aborted, and the miniport’s HwScsiStartIo routine should do the following:
Otherwise, the HwScsiStartIo routine does the following: