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 會釋放配置的記憶體。 呼叫此函式相當於呼叫 NdisAdvanceNetBufferDataStart ,適用於NET_BUFFER_LIST結構上每個NET_BUFFER結構。
不過,呼叫 NdisAdvanceNetBufferListDataStart 會更有效率。
當通訊協議驅動程式在接收路徑上呼叫 NdisAdvanceNetBufferListDataStart 以存取各種傳輸標頭時,不應修改 MDL 鏈結, 而且 FreeMdl 為 FALSE。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平台 | Universal |
標頭 | ndis/nblapi.h (include ndis.h) |
程式庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_NetBuffer_Function (ndis) |