struttura NET_BUFFER_LIST_CONTEXT (ndis/nbl.h)
La struttura NET_BUFFER_LIST_CONTEXT archivia le informazioni di contesto per una struttura NET_BUFFER_LIST.
Sintassi
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;
Membri
Next
Puntatore alla struttura NET_BUFFER_LIST_CONTEXT successiva in un elenco collegato di strutture NET_BUFFER_LIST_CONTEXT.
Size
Dimensioni, in byte, dell'intero spazio di contesto nella struttura NET_BUFFER_LIST_CONTEXT, inclusi lo spazio di contesto utilizzato e inutilizzato.
Offset
Offset, in byte, dall'inizio del buffer dei dati di contesto all'inizio dei dati di contesto nella struttura NET_BUFFER_LIST_CONTEXT. Il membro offset specifica anche le dimensioni in byte dello spazio di contesto inutilizzato nella struttura NET_BUFFER_LIST_CONTEXT.
ContextData
Buffer dei dati di contesto. I dati di contesto possono includere qualsiasi informazione richiesta da un driver.
Osservazioni
Ogni struttura NET_BUFFER_LIST può includere una struttura NET_BUFFER_LIST_CONTEXT preallocata. Poiché una struttura NET_BUFFER_LIST attraversa lo stack di driver, l'elenco collegato di strutture NET_BUFFER_LIST_CONTEXT può espandersi per supportare spazio dati aggiuntivo per ogni driver.
I driver devono usare le macro e le funzioni NDIS seguenti per accedere e modificare i membri in una struttura NET_BUFFER_LIST_CONTEXT:
- NdisAllocateNetBufferListContext
- NdisFreeNetBufferListContext
- NET_BUFFER_LIST_CONTEXT_DATA_START
- NET_BUFFER_LIST_CONTEXT_DATA_SIZE
I driver NDIS chiamano il funzione di NdisAllocateNetBufferListContext per allocare spazio del buffer contiguo nella struttura NET_BUFFER_LIST_CONTEXT. Se necessario, NDIS alloca una nuova struttura NET_BUFFER_LIST_CONTEXT con spazio aggiuntivo per rispettare la richiesta. I driver NDIS chiamano il funzione NdisFreeNetBufferListContext per liberare lo spazio del buffer.
Usare NET_BUFFER_LIST_CONTEXT_DATA_SIZE macro per ottenere le dimensioni dello spazio del contesto utilizzato. Usare NET_BUFFER_LIST_CONTEXT_DATA_START macro per ottenere l'indirizzo iniziale dello spazio del contesto usato.
Per altre informazioni su come usare i net buffer, vedere NET_BUFFER Architecture.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
intestazione | ndis/nbl.h (include ndis.h) |