NdisAdvanceNetBufferListDataStart 函数 (ndis/nblapi.h)

调用 NdisAdvanceNetBufferListDataStart 函数以释放在之前对 的调用中声明的数据空间 NdisRetreatNetBufferListDataStart 函数。

语法

NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferListDataStart(
  [in] NET_BUFFER_LIST     *NetBufferList,
  [in] ULONG               DataOffsetDelta,
  [in] BOOLEAN             FreeMdl,
       NET_BUFFER_FREE_MDL *FreeMdlMdlHandler
);

参数

[in] NetBufferList

指向以前分配 的 NET_BUFFER_LIST 结构的指针。

[in] DataOffsetDelta

要释放 的已用数据空间 量。

[in] FreeMdl

如果 TRUE 和 NDIS 分配的内存来满足相应的 NdisRetreatNetBufferListDataStart 调用,则此函数释放已分配的内存和关联的 MDL。

FreeMdlMdlHandler

NetFreeMdl 函数的可选入口点。 如果调用方为 NetFreeMdl 函数指定入口点,则 NDIS 会调用 NetFreeMdl 来释放 MDL 和内存。

返回值

备注

NdisAdvanceNetBufferListDataStart 发布NET_BUFFER_LIST结构中所有NET_BUFFER结构的已用数据空间。 如果 FreeMdlTRUE ,并且 NdisRetreatNetBufferListDataStart 分配的内存来满足相应的分配请求,
NdisAdvanceNetBufferListDataStart 释放分配的内存。 调用此函数等效于调用NET_BUFFER_LIST结构上每个NET_BUFFER结构的 NdisAdvanceNetBufferDataStart。 但是,调用 NdisAdvanceNetBufferListDataStart 的效率更高。

当协议驱动程序在接收路径上调用 NdisAdvanceNetBufferListDataStart 以访问各种传输标头时,不应修改 MDL 链, FreeMdlFALSE

要求

要求
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
目标平台 通用
标头 ndis/nblapi.h (包括 ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_NetBuffer_Function (ndis)

另请参阅

NET_BUFFER

NET_BUFFER_LIST

NdisAdvanceNetBufferDataStart NdisRetreatNetBufferListDataStart

NetAllocateMdl

NetFreeMdl