// spbcx.h
typedef struct SPB_TRANSFER_DESCRIPTOR {
USHORT Size;
SPB_TRANSFER_DIRECTION Direction;
size_t TransferLength;
ULONG DelayInUs;
} SPB_TRANSFER_DESCRIPTOR, *PSPB_TRANSFER_DESCRIPTOR;
View the official Windows Driver Kit DDI referenceNo description available.
The SPB_TRANSFER_DESCRIPTOR structure describes a single transfer in an I/O transfer sequence.
SizeThe size, in bytes, of the entire structure. Used for versioning.
DirectionThe direction of the transfer. This member is set to one of the following SPB_TRANSFER_DIRECTION enumeration values:
TransferLengthThe number of bytes of data to be transferred.
DelayInUsAn optional delay, in microseconds, before this transfer begins. For more information, see the following Remarks section.
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.
SpbRequestGetTransferParameters