SPB_REQUEST_PARAMETERS structure
The SPB_REQUEST_PARAMETERS structure retrieves a set of parameters from an SPB-specific I/O request.
Syntax
typedef struct _SPB_REQUEST_PARAMETERS {
USHORT Size;
SPB_REQUEST_TYPE Type;
SPB_REQUEST_SEQUENCE_POSITION Position;
SPB_TRANSFER_DIRECTION PreviousTransferDirection;
size_t Length;
ULONG SequenceTransferCount;
} SPB_REQUEST_PARAMETERS, *PSPB_REQUEST_PARAMETERS;
Members
Size
The size, in bytes, of this structure. The SpbRequestGetParameters method uses this parameter to determine which version of the structure is being used.Type
The type of SPB-specific I/O request. For more information about the available request types, see SPB_REQUEST_TYPE.Position
If the I/O request is part of a client-implemented sequence, this member indicates the relative position of the request in the list of transfers for the sequence. For an I/O request that is not part of a sequence, the value of this member has other meanings. For more information, see SPB_REQUEST_SEQUENCE_POSITION.PreviousTransferDirection
If the I/O request is part of a multiple-request sequence, this member indicates the direction of the previous transfer that was issued as part of the sequence. For more information, see SPB_TRANSFER_DIRECTION.Length
The number of bytes to transfer. For a read request or write request, this value is the size of the input buffer or output buffer. For an IOCTL_SPB_EXECUTE_SEQUENCE I/O control request, this member specifies the total number of bytes to be transferred in the sequence. For an I/O control request that is passed to the EvtSpbControllerIoOther callback function, this member specifies the size of the input buffer.SequenceTransferCount
For an IOCTL_SPB_EXECUTE_SEQUENCE request, this member specifies the number of transfers in the I/O transfer sequence. If this member indicates that the sequence contains N transfers, the SPB controller driver can call the SpbRequestGetTransferParameters method N times to retrieve the transfer descriptors, which are identified by indexes 0 to N–1.For I/O requests other than sequence requests, this member is set to 0.
Remarks
The client driver must use the SPB_REQUEST_PARAMETERS_INIT function to initialize an SPB_REQUEST_PARAMETERS structure before it passes this structure to the SpbRequestGetParameters method. This method retrieves a set of SPB-specific parameter values from an I/O request and writes them to a caller-supplied SPB_REQUEST_PARAMETERS structure.
Requirements
Version |
Supported starting with Windows 8. |
Header |
Spbcx.h |
See also