A.4.5.6 Handling SRB_FUNCTION_IO_CONTROL

Whether a miniport driver handles SRB_FUNCTION_IO_CONTROL requests depends on whether the HBA is to provide dedicated support for a user-mode application. Supporting this request allows a set of driver-defined (a.k.a. "private") I/O control requests to be sent directly to the miniport driver. For SRBs with the Function member set to SRB_FUNCTION_IO_CONTROL, the DataBuffer member contains a pointer to a system-defined SRB_IO_CONTROL structure containing the driver-defined and application-specified ControlCode.

All system-defined, required device I/O control requests sent to Windows NT SCSI class drivers are mapped to SRBs with the Function member set to SRB_FUNCTION_EXECUTE_SCSI, not to SRB_FUNCTION_IO_CONTROL.