SPB_TRANSFER_BUFFER 结构描述了 I/O 传输序列中单个传输的数据缓冲区。
语法
typedef struct SPB_TRANSFER_BUFFER {
SPB_TRANSFER_BUFFER_FORMAT Format;
union {
SPB_TRANSFER_BUFFER_LIST_ENTRY Simple;
struct {
PSPB_TRANSFER_BUFFER_LIST_ENTRY List;
ULONG ListCe;
} BufferList;
PMDL Mdl;
};
} SPB_TRANSFER_BUFFER, *PSPB_TRANSFER_BUFFER;
成员
Format
缓冲区格式。 此成员设置为以下 SPB_TRANSFER_BUFFER_FORMAT 枚举值之一:
- SpbTransferBufferFormatSimple
- SpbTransferBufferFormatList
- SpbTransferBufferFormatSimpleNonPaged
- SpbTransferBufferFormatMdl
SpbTransferBufferFormatMdl 是仅对 SPB 控制器驱动程序的客户端请求的 I/O 传输序列(内核模式组件)的有效值。
Simple
一个SPB_TRANSFER_BUFFER_LIST_ENTRY结构,指定简单传输缓冲区的基址和长度。 如果 FormatSpbTransferBufferFormatSimple 或 SpbTransferBufferFormatSimpleNonPaged,请使用此联合成员。 SpbTransferBufferFormatSimpleNonPaged 格式仅由内核模式客户端使用。
BufferList
由缓冲区描述符数组组成的散点收集列表。 如果 FormatSpbTransferBufferFormatList,请使用此联合成员。
BufferList.List
指向描述散点收集列表中的缓冲区的 SPB_TRANSFER_BUFFER_LIST_ENTRY 结构的数组的指针。
BufferList.ListCe
List 数组中的元素数。
Mdl
指向描述缓冲区的 MDL 的指针。 此成员仅由内核模式客户端使用。 如果 FormatSpbTransferBufferFormatMdl,请使用此联合成员。 有关详细信息,请参阅“备注”。
言论
此结构由 SPB_TRANSFER_LIST_ENTRY 结构用来描述传输缓冲区。
此结构的 Mdl 成员只能由作为内核模式组件的 SPB 控制器驱动程序的客户端使用。 用户模式客户端不得使用此成员。 有关 MDL 的详细信息,请参阅 使用 MDL。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 8 开始支持。 |
标头 | spb.h |