NDIS は、ドライバーが他のNET_BUFFER_LIST構造体から派生 NET_BUFFER_LIST 構造体を管理するために使用できる関数を提供します。 通常、これらの関数は中間ドライバーで使用されます。
次の NDIS 関数は、既存のNET_BUFFER_LIST構造体から派生NET_BUFFER_LIST構造体を作成できます。
NdisAllocateCloneNetBufferListの
NdisAllocateFragmentNetBufferListの
NdisAllocateReassembledNetBufferListの
NDIS は、ネットワーク データをコピーせずに派生構造体を作成するため、これらの関数は、システムのパフォーマンスを向上させます。 既存のNET_BUFFER_LIST構造体から派生できる NET_BUFFER_LIST 構造体には、次の 3 種類があります。
Clone
複製されたNET_BUFFER_LIST構造は、元のデータを参照する複製です。 ドライバーは、この種類の構造体を使用して、同じデータを複数のパスに効率的に転送できます。
フラグメント
フラグメント NET_BUFFER_LIST 構造体には、元のデータを参照する一連の NET_BUFFER 構造体が含まれています。ただし、データは最大サイズを超えない単位に分割されます。 ドライバーは、この種類の構造体を使用して、大きなバッファーをより小さなバッファーに効率的に分割できます。
再アセンブル
再構築されたNET_BUFFER_LIST構造体には、複数のソースNET_BUFFER構造体から元のデータを参照するNET_BUFFER構造体が含まれています。 ドライバーは、この種類の構造体を使用して、多数の小さなバッファーを 1 つの大きなバッファーに効率的に結合できます。
このトピックでは、派生NET_BUFFER_LIST構造体の詳細について説明します。
- NET_BUFFER_LIST世代間の リレーションシップ
- 複製されたNET_BUFFER_LIST構造体 を する
- フラグメント化されたNET_BUFFER_LIST構造体 を する
- 再構築されたNET_BUFFER_LIST構造体