NET_BUFFER_LIST 構造
NET_BUFFER_LIST 構造は、NET_BUFFER 構造のリンクされたリストをパッケージ化します。
以下の図は、NET_BUFFER_LIST 構造のフィールドを示しています。
NET_BUFFER_LIST 構造には、NetBufferListHeader メンバーの NET_BUFFER_LIST_HEADER 構造が含まれています。 NET_BUFFER_LIST_HEADER 構造には、NetBufferListData メンバーの NET_BUFFER_LIST_DATA 構造が含まれています。 NDIS マクロを使用して、NET_BUFFER_LIST 構造のメンバーにアクセスする必要があります。 これらのマクロの詳細については、NET_BUFFER_LIST 構造のリファレンスページを参照してください。
一部のメンバーは NDIS でのみ使用されます。 ドライバーが使用する可能性が最も高いメンバーは、以下のリストで定義されています。
ParentNetBufferList
NET_BUFFER_LIST 構造が親から派生した子 (複製、フラグメント化、または再構成)である場合、ParentNetBufferList は親 NET_BUFFER_LIST 構造へのポインターを指定します。 それ以外の場合、このパラメーターは NULL です。
NdisPoolHandle
NET_BUFFER_LIST 構造が割り当てられた NET_BUFFER_LIST プールを識別するプールハンドルを指定します。
ProtocolReserved
プロトコルドライバーで使用するために予約されています。
MiniportReserved
ミニポート ドライバーで使用するために予約されています。
SourceHandle
以下のいずれかのドライバー提供のルーチンを使用して、バインドまたはアタッチ操作で NDIS がドライバーに提供したハンドル。
ミニポート ドライバー
MiniportInitializeEx
プロトコルドライバー
ProtocolBindAdapterEx
フィルタードライバー
FilterAttach
NDIS は、SourceHandle を使用して、NET_BUFFER_LIST 構造を送信したドライバーに NET_BUFFER_LIST 構造を返します。 NDIS ドライバーは、このハンドルを読み取ってはいけません。
ChildRefCount
NET_BUFFER_LIST 構造が親の場合(複製、フラグメン化ト、または再構成操作によって派生した子を持つ場合) 、ChildRefCount は既存の子の数を指定します。 それ以外の場合、このパラメーターはゼロです。
フラグ
NET_BUFFER_LIST 構造の属性を将来指定するために予約されています。 現在、ドライバーで使用できるフラグはありません。
Status
この NET_BUFFER_LIST 構造のネットワークデータ操作の最終的な完了ステータスを指定します。 ミニポート ドライバーは、送信操作を完了する前に、この値を書き込みます。
NetBufferListInfo
リスト内のすべての NET_BUFFER 構造に共通する NET_BUFFER_LIST 構造の情報を指定します。 この情報は、多くの場合、「帯域外 (OOB) データ」と呼ばれます。
次へ
NET_BUFFER_LIST 構造のリンクされたリスト内の次の NET_BUFFER_LIST 構造へのポインターを指定します。 NET_BUFFER_LIST 構造がリストの最後の構造である場合、このメンバーは NULL です。
FirstNetBuffer
このNET_BUFFER_LIST 構造に関連付けられている NET_BUFFER 構造のリンクされたリスト内の最初の NET_BUFFER 構造へのポインターを指定します。
注意:コンテキストは、NET_BUFFER_LIST_CONTEXT 構造へのポインターです。 NDIS は、コンテキストでデータを操作するためのマクロと関数を提供します 。 NET_BUFFER_LIST_CONTEXT 構造の詳細については、「NET_BUFFER_LIST_CONTEXT 構造」を参照してください。