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 |