(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结构,用于指定简单传输缓冲区的基址和长度。 如果 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

另请参阅