A.4.5.9 Other SRB_FUNCTION_XXX Requests

The following SRB Function values are defined for use in future versions of Windows NT:

·SRB_FUNCTION_RECEIVE_EVENT

·SRB_FUNCTION_RELEASE_RECOVERY

·SRB_FUNCTION_RESET_DEVICE

·SRB_FUNCTION_TERMINATE_IO

·SRB_FUNCTION_REMOVE_DEVICE

The Windows NT SCSI port driver processes requests with the following SRB Function values without calling any SCSI miniport driver:

·SRB_FUNCTION_CLAIM_DEVICE (see Section A.1.3.2)

·SRB_FUNCTION_RELEASE_QUEUE (see Section A.1.5.1)

·SRB_FUNCTION_FLUSH_QUEUE (see Section A.1.5.1)

·SRB_FUNCTION_ATTACH_DEVICE (see Section A.2.3)

·SRB_FUNCTION_RELEASE_DEVICE (see Section A.2.3)

Miniport driver designers can assume that their miniports will never be sent an SRB with any of the immediately preceding Function values. The Windows NT port driver handles these requests from SCSI class and filter drivers to protect higher-level SCSI drivers from having to access any HBA-specific (or miniport-specific) state information in order to find their devices or to cancel queued requests. This ensures that Windows NT SCSI class and filter drivers have no dependencies on any particular model of HBA.

For more information about the SCSI_REQUEST_BLOCK structure and the set of system-defined SRB_FUNCTION_XXX values, see also the Kernel-Mode Driver Reference.