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结构的指针。
注释上下文 是指向 NET_BUFFER_LIST_CONTEXT 结构的指针。 NDIS 提供宏和函数,用于在 上下文作数据。 有关NET_BUFFER_LIST_CONTEXT结构的详细信息,请参阅 NET_BUFFER_LIST_CONTEXT 结构。