调用 
语法
NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferDataStart(
  [in]           NET_BUFFER          *NetBuffer,
  [in]           ULONG               DataOffsetDelta,
  [in]           BOOLEAN             FreeMdl,
  [in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);
参数
[in] NetBuffer
指向以前分配 NET_BUFFER 结构的指针。
[in] DataOffsetDelta
要释放的数据空间 量。 NDIS 相应地调整NET_BUFFER结构的 DataOffset 成员的值。
[in] FreeMdl
布尔值,如果 TRUE,则请求 NDIS 释放在高级作中未使用的任何 MDL。 如果 FreeMdlFALSE,则 NDIS 会保留未使用的 MDL,以便在后续撤退作中使用。
[in, optional] FreeMdlHandler
NetFreeMdl 函数的可选入口点。 如果调用方为 NetFreeMdl 函数指定入口点,NDIS 将调用 NetFreeMdl 以释放 MDL 和内存。
返回值
没有
言论
如果 NDIS 分配的内存满足对 的相应调用 NdisRetreatNetBufferDataStart 函数,然后 NdisAdvanceNetBufferDataStart 释放 NdisRetreatNetBufferDataStart 分配的内存。 否则,内存将保留在 MDL 中,并且仅修改 NET_BUFFER 结构的 DataOffset 成员的值。
如果 NdisAdvanceNetBufferDataStart 必须释放内存,则 NDIS 调用在 FreeMdl 指定的 NetFreeMdl 函数。 NDIS 调用 NetFreeMdl,以释放驱动程序在 netAllocateMdl 函数中分配的 MDL 和内存。
当协议驱动程序在接收路径上调用 NdisAdvanceNetBufferDataStart 以访问各种传输标头时,不应修改 MDL 链,并且 FreeMdlFALSE。
要求
| 要求 | 价值 | 
|---|---|
| 最低支持的客户端 | NDIS 6.0 及更高版本中受支持。 | 
| 目标平台 | 普遍 | 
| 标头 | ndis/nblapi.h (include ndis.h) | 
| 库 | Ndis.lib | 
| IRQL | <= DISPATCH_LEVEL | 
| DDI 符合性规则 | Irql_NetBuffer_Function(ndis) |