NET_BUFFER_LIST_CONTEXT構造体 (ndis/nbl.h)
NET_BUFFER_LIST_CONTEXT構造体には、 NET_BUFFER_LIST 構造体のコンテキスト情報が格納されます。
構文
typedef struct _NET_BUFFER_LIST_CONTEXT {
NET_BUFFER_LIST_CONTEXT *Next;
USHORT Size;
USHORT Offset;
UCHAR ContextData[];
} NET_BUFFER_LIST_CONTEXT, *PNET_BUFFER_LIST_CONTEXT;
メンバー
Next
NET_BUFFER_LIST_CONTEXT構造体のリンクされたリスト内の次のNET_BUFFER_LIST_CONTEXT構造体へのポインター。
Size
NET_BUFFER_LIST_CONTEXT構造体内のコンテキスト空間全体のサイズ (バイト単位)。
Offset
コンテキスト データ バッファーの先頭から、NET_BUFFER_LIST_CONTEXT構造体内のコンテキスト データの先頭までのオフセット (バイト単位)。 Offset メンバーは、NET_BUFFER_LIST_CONTEXT構造体の未使用のコンテキスト空間のサイズ (バイト単位) も指定します。
ContextData
コンテキスト データ バッファー。 コンテキスト データには、ドライバーに必要な情報を含めることができます。
注釈
すべての NET_BUFFER_LIST 構造体には、事前に割り当てられたNET_BUFFER_LIST_CONTEXT構造体を含めることができます。 NET_BUFFER_LIST構造体がドライバー スタックを通過すると、各ドライバーの追加のデータ領域に対応するために、NET_BUFFER_LIST_CONTEXT構造体のリンクされたリストを拡張できます。
ドライバーは、次の NDIS マクロと関数を使用して、NET_BUFFER_LIST_CONTEXT構造体のメンバーにアクセスして操作する必要があります。
- NdisAllocateNetBufferListContext
- NdisFreeNetBufferListContext
- NET_BUFFER_LIST_CONTEXT_DATA_START
- NET_BUFFER_LIST_CONTEXT_DATA_SIZE
NDIS ドライバーは、 を呼び出します。NET_BUFFER_LIST_CONTEXT構造体に連続するバッファー領域を割り当てる NdisAllocateNetBufferListContext 関数。 必要に応じて、NDIS は新しいNET_BUFFER_LIST_CONTEXT構造体を割り当て、要求を受け入れられます。 NDIS ドライバーは、 を呼び出します。バッファー領域を解放する NdisFreeNetBufferListContext 関数。
画面右側の マクロNET_BUFFER_LIST_CONTEXT_DATA_SIZE 使用されるコンテキスト空間のサイズを取得します。 画面右側の NET_BUFFER_LIST_CONTEXT_DATA_START マクロを使用して、使用されるコンテキスト空間の開始アドレスを取得します。
ネット バッファーの使用方法の詳細については、「 NET_BUFFER アーキテクチャ」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis/nbl.h (ndis.h を含む) |