SRB_IO_CONTROL
typedef struct _SRB_IO_CONTROL {
ULONG HeaderLength;
UCHAR Signature[8];
ULONG Timeout;
ULONG ControlCode;
ULONG ReturnCode;
ULONG Length;
} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
- HeaderLength
- Is sizeof(SRB_IO_CONTROL).
- Signature
- Indicates the type of HBA this request is for. This signature is used to prevent conflicts in ControlCode values between vendors and should be a string of ASCII characters. If the HBA miniport driver does not recognize the signature it completes the request with a status of SRB_STATUS_INVALID_REQUEST.
- Timeout
- Indicates the minimum time, in seconds, the request can execute before it is considered to have timed out. HBA miniport drivers are not required to time requests.
- ControlCode
- Indicates the operation to be performed. There are no operations defined by this specification. Values must be defined by the driver with a set of private I/O control codes with which the application can make device control requests.
- ReturnCode
- Returns a code for examination by the requesting application.
- Length
- Indicates the length of the following data area. This area can be divided for the particular operation into input and output areas. The DataBuffer will be copied to the requestor limited by the updated DataTransferLength.
This structure is used by applications to send requests directly to an application-dedicated HBA. Note that such an application must set up requests to program the HBA.
See Also
SCSI_REQUEST_BLOCK