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结构的已用数据空间。 如果 FreeMdl 为 TRUE ,并且 NdisRetreatNetBufferListDataStart 分配的内存来满足相应的分配请求,
NdisAdvanceNetBufferListDataStart 释放分配的内存。 调用此函数等效于调用NET_BUFFER_LIST结构上每个NET_BUFFER结构的 NdisAdvanceNetBufferDataStart。
但是,调用 NdisAdvanceNetBufferListDataStart 的效率更高。
当协议驱动程序在接收路径上调用 NdisAdvanceNetBufferListDataStart 以访问各种传输标头时,不应修改 MDL 链, FreeMdl 为 FALSE。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
目标平台 | 通用 |
标头 | ndis/nblapi.h (包括 ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_NetBuffer_Function (ndis) |