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 |