Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovladač NDIS vytvoří klonovanou strukturu NET_BUFFER_LIST z existující struktury NET_BUFFER_LIST. Klonovaná struktura odkazuje na původní data struktur. Ovladače mohou tento typ struktury použít k efektivnímu přenosu stejných dat do více cest.
Následující obrázek znázorňuje vztah mezi nadřazenou strukturou NET_BUFFER_LIST a klonovanou podřízenou strukturou.
Předchozí obrázek obsahuje nadřazenou strukturu NET_BUFFER_LIST a podřízenou strukturu, která byla odvozená z této nadřazené struktury. Nadřazená struktura má jednu NET_BUFFER_LIST_CONTEXT strukturu a jednu NET_BUFFER strukturu s připojenými MDL. Nadřazený ukazatel struktury je NULL, což značí, že se nejedná o odvozenou strukturu.
Podřízená struktura NET_BUFFER_LIST má jednu strukturu NET_BUFFER s připojenými MDL. Podřízený NET_BUFFER_LIST má ukazatel na nadřazenou strukturu. NULL, kde ukazatel struktury NET_BUFFER_LIST_CONTEXT by značil, že podřízená položka nemá žádnou NET_BUFFER_LIST_CONTEXT strukturu.
Ovladače volají funkci NdisAllocateCloneNetBufferList k vytvoření klonu struktury NET_BUFFER_LIST. NDIS přiděluje nové struktury NET_BUFFER a MDLs s klonovanou strukturou NET_BUFFER_LIST. NDIS nepřiděluje NET_BUFFER_LIST_CONTEXT strukturu pro klonovanou strukturu. Struktury NET_BUFFER a MDL popisují stejná data jako v nadřazené struktuře. Data se nekopírují.
Řidiči volají funkci NdisFreeCloneNetBufferList k uvolnění struktury NET_BUFFER_LIST a všech přidružených struktur NET_BUFFER a řetězců MDL, které byly dříve přiděleny prostřednictvím volání NdisAllocateCloneNetBufferList.