Export (0) Print
Expand All

SRB_IO_CONTROL structure

Syntax


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 Using I/O Control Codes.

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 requester up to the returned value of DataTransferLength.

Remarks

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.

Requirements

Header

Ntddscsi.h (include Ntddscsi.h)

See also

SCSI Port I/O Control Codes
SCSI Port I/O Control Codes
SCSI_REQUEST_BLOCK

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft