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 ドライバーは、〘NdisAllocateNetBufferListContext 関数を して、NET_BUFFER_LIST_CONTEXT構造体に連続するバッファー領域を割り当てます。 必要に応じて、NDIS は、要求を受け入れます追加の領域を持つ新しいNET_BUFFER_LIST_CONTEXT構造体を割り当てます。 NDIS ドライバーは、〘NdisFreeNetBufferListContext 関数を してバッファー領域を解放します。
を使用します。 NET_BUFFER_LIST_CONTEXT_DATA_SIZE マクロを使用して、使用されるコンテキスト空間のサイズを取得します。 を使用します。 NET_BUFFER_LIST_CONTEXT_DATA_START マクロを使用して、使用されるコンテキスト空間の開始アドレスを取得します。
ネット バッファーの使用方法の詳細については、「NET_BUFFER アーキテクチャの」を参照してください。
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ヘッダー | ndis/nbl.h (ndis.h を含む) |
NdisFreeNetBufferListContext の