SPB_TRANSFER_BUFFER_LIST_ENTRY structure (spb.h)

The SPB_TRANSFER_BUFFER_LIST_ENTRY structure describes either a simple transfer buffer, or an element in an array of one or more transfer buffers.

Syntax

typedef struct SPB_TRANSFER_BUFFER_LIST_ENTRY {
  PVOID Buffer;
  ULONG BufferCb;
} SPB_TRANSFER_BUFFER_LIST_ENTRY, *PSPB_TRANSFER_BUFFER_LIST_ENTRY;

Members

Buffer

The virtual address of the transfer buffer. For a transfer that is requested by a client of the SPB controller driver that runs in user mode, this buffer must reside entirely in user-mode memory.

BufferCb

The size, in bytes, of the transfer buffer that Buffer points to.

Remarks

To request an I/O transfer sequence for a target device on the bus, a client (peripheral driver) of the SPB controller driver sends an IOCTL_SPB_EXECUTE_SEQUENCE request that describes the sequence. The transfers in the sequence are described by an SPB_TRANSFER_LIST structure that is followed by an array of one or more SPB_TRANSFER_LIST_ENTRY structures. Each element in this array describes an individual transfer in the sequence, and each element contains an SPB_TRANSFER_BUFFER structure that describes the buffer to use for the transfer.

If the buffer format is SpbTransferBufferFormatSimple, an SPB_TRANSFER_BUFFER structure contains a single SPB_TRANSFER_BUFFER_LIST_ENTRY structure that describes a simple buffer that is specified by an address and a length. If the buffer format is SpbTransferBufferFormatList, the buffer is a scatter-gather list, and the SPB_TRANSFER_BUFFER structure contains a pointer to an SPB_TRANSFER_BUFFER_LIST_ENTRY array that describes the list.

Requirements

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

See also