派生的 NET_BUFFER_LIST 结构

NDIS 提供了驱动程序可用于管理派生自其他 NET_BUFFER_LIST 结构的NET_BUFFER_LIST结构的函数。 中间驱动程序通常使用这些函数。

以下 NDIS 函数可以从现有NET_BUFFER_LIST结构创建派生NET_BUFFER_LIST结构:

NdisAllocateCloneNetBufferList

NdisAllocateFragmentNetBufferList

NdisAllocateReassembledNetBufferList

这些函数提高了系统性能,因为 NDIS 在不复制网络数据的情况下创建派生结构。 有三种类型的 NET_BUFFER_LIST 结构可以派生自现有的NET_BUFFER_LIST结构:

克隆
克隆NET_BUFFER_LIST结构是引用原始数据的重复项。 驱动程序可以使用这种类型的结构有效地将相同的数据传输到多个路径。

Fragment
片段 NET_BUFFER_LIST 结构包括一组引用原始数据的 NET_BUFFER 结构;但是,数据划分为不超过最大大小的单位。 驱动程序可以使用这种类型的结构有效地将大型缓冲区分解为较小的缓冲区。

重组
重新组合NET_BUFFER_LIST结构包含引用多个源NET_BUFFER结构的原始数据的NET_BUFFER结构。 驱动程序可以使用这种类型的结构有效地将许多较小的缓冲区合并到单个大型缓冲区中。

以下主题提供有关派生NET_BUFFER_LIST结构的详细信息: