次の方法で共有


NET_BUFFER_LIST 構造

NET_BUFFER_LIST 構造は、NET_BUFFER 構造のリンクされたリストをパッケージ化します。

以下の図は、NET_BUFFER_LIST 構造のフィールドを示しています。

Diagram illustrating the fields in a NET_BUFFER_LIST structure.

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 構造」を参照してください。