SPB_TRANSFER_LIST 结构 (spb.h)

SPB_TRANSFER_LIST 结构描述 I/O 传输序列

语法

typedef struct SPB_TRANSFER_LIST {
  ULONG                   Size;
  ULONG                   Reserved;
  ULONG                   TransferCount;
  SPB_TRANSFER_LIST_ENTRY Transfers[1];
} SPB_TRANSFER_LIST, *PSPB_TRANSFER_LIST;

成员

Size

SPB_TRANSFER_LIST结构的大小(以字节为单位)。 此大小值不包括可能遵循此结构的任何 Transfers 数组元素。 如果向此结构的未来版本添加新成员,则可以使用 Size 值来确定正在使用 哪个版本的 SPB_TRANSFER_LIST 结构。

Reserved

保留供操作系统使用。 设置为零。

TransferCount

Transfers 数组中的元素数。 此数组至少包含一个元素。

Transfers[1]

此成员是 SPB_TRANSFER_LIST_ENTRY 结构数组中的第一个元素。 每个数组元素描述 I/O 传输序列中的单个传输。 如果数组包含多个元素,则其他数组元素将紧跟内存中的 SPB_TRANSFER_LIST 结构。 传输按它们在数组中的出现顺序执行,从第一个元素开始。

注解

IOCTL_SPB_EXECUTE_SEQUENCE请求的输入缓冲区以SPB_TRANSFER_LIST结构开始。 请求的 I/O 传输序列中的第一个传输在此结构的 Transfer 成员中指定。 如果序列包含多个传输,则描述其他传输的数组元素将紧跟 SPB_TRANSFER_LIST 结构。

IOCTL_SPB_FULL_DUPLEX请求的输入缓冲区以SPB_TRANSFER_LIST结构开头。 此请求 的SPB_TRANSFER_LIST 结构始终指定两个缓冲区。 第一个缓冲区由此结构的 Transfers 成员描述,其中包含要写入设备的数据。 第二个缓冲区由紧跟 SPB_TRANSFER_LIST 结构的数组元素描述,用于保存从设备读取的数据。

如果 SPB 控制器驱动程序支持自定义 I/O 控制 (IOCTL) 使用输入或输出缓冲区的请求,请使用 SPB_TRANSFER_LIST 结构来描述这些缓冲区。 有关详细信息,请参阅 使用自定义 IOCTL 的SPB_TRANSFER_LIST结构

要求

要求
最低受支持的客户端 支持从Windows 8开始。
标头 spb.h

另请参阅