共用方式為


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

位移,以位元組為單位,以位元組為單位 在MDL中,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_NEXT_NB

NET_BUFFER_FIRST_MDL

NET_BUFFER_DATA_OFFSET

NET_BUFFER_DATA_LENGTH

NET_BUFFER_CURRENT_MDL

NET_BUFFER_CURRENT_MDL_OFFSET
Note C 和 C++ 編譯程式會針對這些巨集使用不同的定義。 切換編譯程式時,無法使用巨集可能會導致問題。
 

要求

要求 價值
最低支援的用戶端 NDIS 6.0 和更新版本支援。
標頭 ndis/nbl.h (include ndis.h)

另請參閱

NET_BUFFER

NET_BUFFER_CURRENT_MDL

NET_BUFFER_CURRENT_MDL_OFFSET

NET_BUFFER_DATA_LENGTH

NET_BUFFER_DATA_OFFSET

NET_BUFFER_FIRST_MDL

NET_BUFFER_HEADER

NET_BUFFER_NEXT_NB

NdisAdvanceNetBufferDataStart NdisRetreatNetBufferDataStart