NET_BUFFER_LIST_CONTEXT Struktur (ndis/nbl.h)
Die NET_BUFFER_LIST_CONTEXT Struktur speichert Kontextinformationen für eine NET_BUFFER_LIST Struktur.
Syntax
typedef struct _NET_BUFFER_LIST_CONTEXT {
NET_BUFFER_LIST_CONTEXT *Next;
USHORT Size;
USHORT Offset;
UCHAR ContextData[];
} NET_BUFFER_LIST_CONTEXT, *PNET_BUFFER_LIST_CONTEXT;
Angehörige
Next
Ein Zeiger auf die nächste NET_BUFFER_LIST_CONTEXT Struktur in einer verknüpften Liste mit NET_BUFFER_LIST_CONTEXT Strukturen.
Size
Die Größe des gesamten Kontextbereichs in Bytes in der NET_BUFFER_LIST_CONTEXT Struktur, einschließlich des verwendeten und nicht verwendeten Kontextbereichs.
Offset
Der Offset in Bytes vom Anfang des Kontextdatenpuffers bis zum Anfang der Kontextdaten in der NET_BUFFER_LIST_CONTEXT Struktur. Das Offset-Element Member gibt auch die Größe in Byte des nicht verwendeten Kontextbereichs in der NET_BUFFER_LIST_CONTEXT Struktur an.
ContextData
Der Kontextdatenpuffer. Die Kontextdaten können alle Informationen enthalten, die ein Treiber benötigt.
Bemerkungen
Jede NET_BUFFER_LIST Struktur kann eine vordefinierte NET_BUFFER_LIST_CONTEXT Struktur enthalten. Da eine NET_BUFFER_LIST Struktur durch den Treiberstapel verläuft, kann die verknüpfte Liste der NET_BUFFER_LIST_CONTEXT Strukturen erweitert werden, um zusätzlichen Datenraum für jeden Treiber zu berücksichtigen.
Treiber sollten die folgenden NDIS-Makros und -Funktionen verwenden, um auf Member in einer NET_BUFFER_LIST_CONTEXT Struktur zuzugreifen und sie zu bearbeiten:
- NdisAllocateNetBufferListContext
- NdisFreeNetBufferListContext-
- NET_BUFFER_LIST_CONTEXT_DATA_START
- NET_BUFFER_LIST_CONTEXT_DATA_SIZE
NDIS-Treiber rufen die NdisAllocateNetBufferListContext Funktion, um zusammenhängenden Pufferraum in der NET_BUFFER_LIST_CONTEXT Struktur zuzuweisen. Bei Bedarf weist NDIS eine neue NET_BUFFER_LIST_CONTEXT Struktur mit zusätzlichem Platz zu, um die Anforderung zu berücksichtigen. NDIS-Treiber rufen die NdisFreeNetBufferListContext Funktion, um den Pufferspeicher frei zu geben.
Verwenden Sie die NET_BUFFER_LIST_CONTEXT_DATA_SIZE Makro, um die Größe des verwendeten Kontextbereichs abzurufen. Verwenden Sie die NET_BUFFER_LIST_CONTEXT_DATA_START Makro, um die Startadresse des verwendeten Kontextbereichs abzurufen.
Weitere Informationen zur Verwendung von Netzpuffern finden Sie unter NET_BUFFER Architecture.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Header- | ndis/nbl.h (include ndis.h) |