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

SpbRequestGetParameters

SPB_REQUEST_PARAMETERS_INIT

SPB_REQUEST_TYPE

 

 

Send comments about this topic to Microsoft