SPB_TRANSFER_DESCRIPTOR structure (spbcx.h)

The SPB_TRANSFER_DESCRIPTOR structure describes a single transfer in an I/O transfer sequence.

Syntax

typedef struct SPB_TRANSFER_DESCRIPTOR {
  USHORT                 Size;
  SPB_TRANSFER_DIRECTION Direction;
  size_t                 TransferLength;
  ULONG                  DelayInUs;
} SPB_TRANSFER_DESCRIPTOR, *PSPB_TRANSFER_DESCRIPTOR;

Members

Size

The size, in bytes, of the entire structure. Used for versioning.

Direction

The direction of the transfer. This member is set to one of the following SPB_TRANSFER_DIRECTION enumeration values:

  • SpbTransferDirectionFromDevice
  • SpbTransferDirectionToDevice

TransferLength

The number of bytes of data to be transferred.

DelayInUs

An optional delay, in microseconds, before this transfer begins. For more information, see the following Remarks section.

Remarks

This structure is used by the SpbRequestGetTransferParameters method. Before passing an SPB_TRANSFER_DESCRIPTOR structure to this method, initialize the structure by calling the SPB_TRANSFER_DESCRIPTOR_INIT function.

The DelayInUs member specifies a delay before the start of the transfer. In certain cases, a peripheral driver might need to insert a delay between two consecutive transfers in a sequence. For example, if a write to a target device specifies the type of information that is being requested, this device might need time to process the request before the information can be read. In addition, a peripheral driver might need to specify a delay before the first transfer in a sequence. In this case, the controller must apply the address or assert the device-select line to the target device for the specified delay interval before the start of the first transfer.

Requirements

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

See also

SPB_TRANSFER_DESCRIPTOR_INIT

SPB_TRANSFER_DIRECTION

SpbRequestGetTransferParameters