SPB_TRANSFER_BUFFER结构(spb.h)

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结构,指定简单传输缓冲区的基址和长度。 如果 FormatSpbTransferBufferFormatSimpleSpbTransferBufferFormatSimpleNonPaged,请使用此联合成员。 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

另请参阅