NET_BUFFER_DATA 構造体 (ndis/nbl.h)
NET_BUFFER_DATA構造体には、NET_BUFFER構造体にアタッチされているデータ バッファーを管理するための情報が含まれており、NET_BUFFER構造体の一覧で次の NET_BUFFER 構造体が識別されます。
構文
typedef struct _NET_BUFFER_DATA {
NET_BUFFER *Next;
MDL *CurrentMdl;
ULONG CurrentMdlOffset;
NET_BUFFER_DATA_LENGTH NbDataLength;
MDL *MdlChain;
ULONG DataOffset;
} NET_BUFFER_DATA, *PNET_BUFFER_DATA;
メンバー
Next
NET_BUFFER構造体のリンクされたリスト内の次のNET_BUFFER構造体へのポインター。 この構造体がリスト内の最後のNET_BUFFER構造体である場合、このメンバーは NULL です。
CurrentMdl
現在のドライバーが使用している最初の MDL へのポインター。 このメンバーは、現在のドライバーが使用していないすべての MDL をスキップすることでパフォーマンスを向上させる最適化を提供します。
CurrentMdlOffset
CurrentMdl メンバーによって指定された MDL 内の使用されるデータ空間の先頭までのオフセット (バイト単位)。
NbDataLength
MDL チェーンで使用されるデータ空間の長さ (バイト単位)。 最大長は0xFFFFFFFFバイトです。
MdlChain
データ バッファーをマップする MDL のリンクされたリストへのポインター。 データ バッファーには、ネットワーク データが格納されます。
DataOffset
MDL チェーンの先頭から MDL チェーン内のネットワーク データの先頭までのオフセット (バイト単位)。 このオフセットは、 未使用のデータ空間のサイズ (バイト単位) でもあります。
注釈
NET_BUFFER_HEADER構造体には、NET_BUFFER構造体のデータを定義するNET_BUFFER_DATA構造体が含まれています。 NET_BUFFER_DATAのメンバーにアクセスするには、 NdisRetreatNetBufferDataStart と NdisAdvanceNetBufferDataStart 関数と次のマクロ:
NET_BUFFER_CURRENT_MDL_OFFSET要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis/nbl.h (ndis.h を含む) |