共用方式為


複製NET_BUFFER_LIST結構

NDIS 驅動程式會從現有的NET_BUFFER_LIST結構建立複製 NET_BUFFER_LIST 結構。 複製的結構會參考原始結構資料。 驅動程式可以使用這種類型的結構,有效率地將相同的資料傳送至多個路徑。

下圖顯示父NET_BUFFER_LIST結構和複製子結構之間的關聯性。

此圖顯示父NET_BUFFER_LIST結構與其複製子結構之間的關聯性。

上圖包含父 NET_BUFFER_LIST 結構和衍生自該父系的子結構。 父結構有一個 NET_BUFFER_LIST_CONTEXT 結構和一個附加 MDL 的NET_BUFFER 結構。 父結構的父指標是 Null ,表示它不是衍生結構。

子NET_BUFFER_LIST結構有一個附加 MDL 的NET_BUFFER結構。 子NET_BUFFER_LIST具有父結構的指標。 Null,其中NET_BUFFER_LIST_CONTEXT結構指標會指出子系沒有NET_BUFFER_LIST_CONTEXT結構。

驅動程式會呼叫 NdisAllocateCloneNetBufferList 函式來建立 複製NET_BUFFER_LIST 結構。 NDIS 會使用複製 的 NET_BUFFER_LIST 結構來配置新的NET_BUFFER結構和 MDL。 NDIS 不會為複製的結構配置 NET_BUFFER_LIST_CONTEXT 結構。 新的NET_BUFFER結構和 MDL 會描述與父結構中相同的資料。 不會複製資料。

驅動程式會呼叫 NdisFreeCloneNetBufferList 函式來釋放NET_BUFFER_LIST結構,以及先前呼叫 NdisAllocateCloneNetBufferList所配置的所有相關NET_BUFFER結構和 MDL 鏈結。

衍生NET_BUFFER_LIST結構