(spb.h) SPB_TRANSFER_BUFFER 结构
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结构,用于指定简单传输缓冲区的基址和长度。 如果 Format 为 SpbTransferBufferFormatSimple 或 SpbTransferBufferFormatSimpleNonPaged,请使用此联合成员。 SpbTransferBufferFormatSimpleNonPaged 格式仅由内核模式客户端使用。
BufferList
由缓冲区描述符数组组成的散点-收集列表。 如果 Format 为 SpbTransferBufferFormatList,请使用联合的此成员。
BufferList.List
指向描述散点-收集列表中缓冲区的 SPB_TRANSFER_BUFFER_LIST_ENTRY 结构的数组的指针。
BufferList.ListCe
List 数组中的元素数。
Mdl
指向描述缓冲区的 MDL 的指针。 此成员仅由内核模式客户端使用。 如果 Format 为 SpbTransferBufferFormatMdl,请使用联合的此成员。 有关详细信息,请参阅“备注”。
注解
SPB_TRANSFER_LIST_ENTRY 结构使用此结构来描述传输缓冲区。
此结构的 Mdl 成员只能由作为内核模式组件的 SPB 控制器驱动程序的客户端使用。 用户模式客户端不得使用此成员。 有关 MDL 的详细信息,请参阅使用 MDL。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 支持从Windows 8开始。 |
标头 | spb.h |