次の方法で共有


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構造体に使用されるデータ領域を解放します。 FreeMdlTRUE の場合、 NdisRetreatNetBufferListData 対応する割り当て要求を満たすために割り当てられたメモリを開始します。
NdisAdvanceNetBufferListDataStart は、割り当てられたメモリを解放します。 この関数の呼び出しは、 の呼び出しと同じです ndisAdvanceNetBufferDataStart NET_BUFFER_LIST構造体のすべてのNET_BUFFER構造体。 ただし、 NdisAdvanceNetBufferListDataStart の呼び出しの方が効率的です。

プロトコル ドライバーがさまざまなトランスポート ヘッダーにアクセスするための受信パスで NdisAdvanceNetBufferListDataStart を呼び出す場合、MDL チェーンを変更しないでください。 FreeMdlFALSE です

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header 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