SPB_TRANSFER_LIST structure (spb.h)

The SPB_TRANSFER_LIST structure describes an I/O transfer sequence.

Syntax

typedef struct SPB_TRANSFER_LIST {
  ULONG                   Size;
  ULONG                   Reserved;
  ULONG                   TransferCount;
  SPB_TRANSFER_LIST_ENTRY Transfers[1];
} SPB_TRANSFER_LIST, *PSPB_TRANSFER_LIST;

Members

Size

The size, in bytes, of the SPB_TRANSFER_LIST structure. This size value does not include any Transfers array elements that might follow this structure. If new members are added to future versions of this structure, the Size value can be used to determine which version of the SPB_TRANSFER_LIST structure is being used.

Reserved

Reserved for use by the operating system. Set to zero.

TransferCount

The number of elements in the Transfers array. This array contains a minimum of one element.

Transfers[1]

This member is the first element in an array of SPB_TRANSFER_LIST_ENTRY structures. Each array element describes an individual transfer in the I/O transfer sequence. If the array contains more than one element, the additional array elements immediately follow the SPB_TRANSFER_LIST structure in memory. The transfers are performed in the order in which they appear in the array, starting with the first element.

Remarks

The input buffer for an IOCTL_SPB_EXECUTE_SEQUENCE request begins with an SPB_TRANSFER_LIST structure. The first transfer in the requested I/O transfer sequence is specified in the Transfers member of this structure. If the sequence contains more than one transfer, the array elements that describe the additional transfers immediately follow the SPB_TRANSFER_LIST structure.

The input buffer for an IOCTL_SPB_FULL_DUPLEX request begins with an SPB_TRANSFER_LIST structure. The SPB_TRANSFER_LIST structure for this request always specifies two buffers. The first buffer, which is described by the Transfers member of this structure, contains the data to write to the device. The second buffer, which is described by an array element that immediately follows the SPB_TRANSFER_LIST structure, is used to hold the data read from the device.

If your SPB controller driver supports custom I/O control (IOCTL) requests that use input or output buffers, use the SPB_TRANSFER_LIST structure to describe these buffers. For more information, see Using the SPB_TRANSFER_LIST Structure for Custom IOCTLs.

Requirements

Requirement Value
Minimum supported client Supported starting with Windows 8.
Header spb.h

See also