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;
Member
Next
Ein Zeiger auf die nächste NET_BUFFER_LIST_CONTEXT-Struktur in einer verknüpften Liste von NET_BUFFER_LIST_CONTEXT-Strukturen.
Size
Die Größe des gesamten Kontextbereichs in Byte 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. Der Offset-Member gibt auch die Größe des nicht verwendeten Kontextbereichs in byte in der NET_BUFFER_LIST_CONTEXT-Struktur an.
ContextData
Der Kontextdatenpuffer. Die Kontextdaten können alle Informationen enthalten, die ein Treiber benötigt.
Hinweise
Jede NET_BUFFER_LIST-Struktur kann eine vorab zugewiesene NET_BUFFER_LIST_CONTEXT-Struktur enthalten. Da eine NET_BUFFER_LIST-Struktur durch den Treiberstapel wandert, kann die verknüpfte Liste der NET_BUFFER_LIST_CONTEXT-Strukturen erweitert werden, um zusätzlichen Datenspeicher für jeden Treiber aufzunehmen.
Treiber sollten die folgenden NDIS-Makros und -Funktionen verwenden, um auf Member in einer NET_BUFFER_LIST_CONTEXT-Struktur zuzugreifen und diese 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 Pufferbereich in der NET_BUFFER_LIST_CONTEXT-Struktur zuzuweisen. Bei Bedarf ordnet NDIS eine neue NET_BUFFER_LIST_CONTEXT-Struktur mit zusätzlichem Speicherplatz zu, um die Anforderung zu berücksichtigen. NDIS-Treiber rufen die NdisFreeNetBufferListContext-Funktion , um den Pufferspeicher frei zu geben.
Verwenden Sie die Schaltfläche NET_BUFFER_LIST_CONTEXT_DATA_SIZE Makro, um die Größe des verwendeten Kontextbereichs abzurufen. Verwenden Sie die Schaltfläche 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 |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Kopfzeile | ndis/nbl.h (include ndis.h) |