NET_BUFFER_LIST 结构
NET_BUFFER_LIST结构打包NET_BUFFER结构的链接列表。
下图显示了NET_BUFFER_LIST结构中的字段。
NET_BUFFER_LIST结构包括 NetBufferListHeader 成员中的NET_BUFFER_LIST_HEADER结构。 NET_BUFFER_LIST_HEADER结构包括 NetBufferListData 成员中的NET_BUFFER_LIST_DATA结构。 应使用 NDIS 宏访问NET_BUFFER_LIST结构成员。 有关这些宏的详细信息,请参阅 NET_BUFFER_LIST 结构参考页。
某些成员仅由 NDIS 使用。 驱动程序最有可能使用的成员在以下列表中定义:
ParentNetBufferList
如果 NET_BUFFER_LIST 结构是从) 克隆、分段或重新组合的父 (派生的子级, 则 ParentNetBufferList 指定指向父NET_BUFFER_LIST结构的指针。 否则,此参数为 NULL。
NdisPoolHandle
指定池句柄,该句柄标识从中分配NET_BUFFER_LIST结构的NET_BUFFER_LIST池。
MiniportReserved
保留供微型端口驱动程序使用。
SourceHandle
NDIS 使用以下驱动程序提供的例程之一在绑定或附加操作中提供给驱动程序的句柄:
微型端口驱动程序
MiniportInitializeEx
协议驱动程序
ProtocolBindAdapterEx
筛选器驱动程序
FilterAttach
NDIS 使用 SourceHandle 将NET_BUFFER_LIST结构返回到发送NET_BUFFER_LIST结构的驱动程序。 NDIS 驱动程序不应读取此句柄。
ChildRefCount
如果 NET_BUFFER_LIST 结构是父 (具有由克隆、片段或重新组合操作) 派生的子级, 则 ChildRefCount 指定现有子级的数目。 否则此参数为零。
标志
保留用于NET_BUFFER_LIST结构的属性的未来规范。 目前没有可用于驱动程序的标志。
状态
指定此NET_BUFFER_LIST结构的网络数据操作的最终完成状态。 微型端口驱动程序在完成发送操作之前写入此值。
NetBufferListInfo
指定 列表中 所有NET_BUFFER结构通用 NET_BUFFER_LIST 结构信息。 此信息通常称为“带外 (OOB) 数据”。
下
指定指向NET_BUFFER_LIST结构链接列表中的下一个NET_BUFFER_LIST结构的指针。 如果NET_BUFFER_LIST结构是列表中的最后一个结构,则此成员为 NULL。
FirstNetBuffer
指定指向与此NET_BUFFER_LIST结构关联的NET_BUFFER结构链接列表中的第一个NET_BUFFER结构的指针。
注意Context 是指向 NET_BUFFER_LIST_CONTEXT 结构的指针。 NDIS 提供宏和函数来操作 上下文 中的数据。 有关NET_BUFFER_LIST_CONTEXT结构的详细信息,请参阅 NET_BUFFER_LIST_CONTEXT 结构。