次の方法で共有


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

対応する NdisRetreatNetBufferListDataStart 呼び出しを満たすために TRUE と NDIS 割り当てメモリを 場合、この関数は割り当てられたメモリと関連付けられている 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 を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する Irql_NetBuffer_Function(ndis)

関連項目

NET_BUFFER

NET_BUFFER_LIST

NdisAdvanceNetBufferDataStart NdisRetreatNetBufferListDataStart をする

NetAllocateMdl

NetFreeMdl する