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;
Members
-
HeaderLength
-
Is sizeof(SRB_IO_CONTROL).
-
Signature
-
Identifies the application-dedicated, target HBA for this request. This
signature is used to prevent conflicts in ControlCode values between
vendors. It should be a string of ASCII characters. If a miniport driver does
not recognize the input Signature value, it must complete the request
with a status of SRB_STATUS_INVALID_REQUEST.
-
Timeout
-
Indicates the interval in seconds that the request can execute before the
OS-specific port driver might consider it timed out. Miniport drivers are not
required to time requests because the port driver does.
-
ControlCode
-
Indicates the operation to be performed. There are no system-defined
operations. Values must be defined by the driver as a set of private I/O
control codes with which the application can make requests by calling the
Win32 DeviceIoControl function. For more information about defining
private I/O control codes for device control requests, see also Part
II of this manual.
-
ReturnCode
-
Returns a status code for examination by the requesting application.
-
Length
-
Indicates the size in bytes of the immediately following data area. This area
can be divided for the particular operation into input and output areas. For
input requests, the contents of the DataBuffer will be copied to the
requestor up to the returned value of DataTransferLength.
Comments
This structure is used by applications to send requests directly to an
application-dedicated HBA. Note that such an application also must set up
requests to program its dedicated HBA.
See Also
IOCTL_SCSI_PASS_THROUGH, IOCTL_SCSI_PASS_THROUGH_DIRECT, SCSI_REQUEST_BLOCK