Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein NDIS-Treiber erstellt eine geklonte NET_BUFFER_LIST Struktur aus einer vorhandenen NET_BUFFER_LIST-Struktur. Die geklonte Struktur verweist auf die ursprünglichen Strukturdaten. Treiber können diese Strukturart verwenden, um dieselben Daten effizient auf mehrere Pfade zu übertragen.
Die folgende Abbildung zeigt die Beziehung zwischen einer übergeordneten NET_BUFFER_LIST Struktur und einer geklonten untergeordneten Struktur.
Die obige Abbildung enthält eine übergeordnete NET_BUFFER_LIST Struktur und eine untergeordnete Struktur, die von diesem übergeordneten Element abgeleitet wurde. Die übergeordnete Struktur weist eine NET_BUFFER_LIST_CONTEXT Struktur und eine NET_BUFFER Struktur mit angefügten MDLs auf. Der übergeordnete Zeiger der übergeordneten Struktur ist NULL-, der angibt, dass es sich nicht um eine abgeleitete Struktur handelt.
Die untergeordnete NET_BUFFER_LIST-Struktur weist eine NET_BUFFER Struktur mit angefügten MDLs auf. Das untergeordnete NET_BUFFER_LIST weist einen Zeiger auf die übergeordnete Struktur auf. Der NULL-, bei dem ein NET_BUFFER_LIST_CONTEXT Strukturzeiger angibt, dass das untergeordnete Element keine NET_BUFFER_LIST_CONTEXT Struktur aufweist.
Treiber rufen die NdisAllocateCloneNetBufferList Funktion auf, um einen Klon NET_BUFFER_LIST Struktur zu erstellen. NDIS weist neue NET_BUFFER Strukturen und MDLs mit der geklonten NET_BUFFER_LIST Struktur zu. NDIS weist keine NET_BUFFER_LIST_CONTEXT Struktur für die geklonte Struktur zu. Die neuen NET_BUFFER Strukturen und MDLs beschreiben die gleichen Daten wie in der übergeordneten Struktur. Die Daten werden nicht kopiert.
Treiber rufen die NdisFreeCloneNetBufferList Funktion auf, um eine NET_BUFFER_LIST Struktur und alle zugeordneten NET_BUFFER Strukturen und MDL-Ketten frei zu geben, die zuvor durch Aufrufen NdisAllocateCloneNetBufferListzugewiesen wurden.