estrutura NET_BUFFER_LIST_CONTEXT (ndis/nbl.h)
A estrutura NET_BUFFER_LIST_CONTEXT armazena informações de contexto para uma estrutura NET_BUFFER_LIST .
Sintaxe
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;
Membros
Next
Um ponteiro para a próxima estrutura NET_BUFFER_LIST_CONTEXT em uma lista vinculada de estruturas de NET_BUFFER_LIST_CONTEXT.
Size
O tamanho, em bytes, de todo o espaço de contexto na estrutura NET_BUFFER_LIST_CONTEXT, incluindo o espaço de contexto usado e não utilizado.
Offset
O deslocamento, em bytes, desde o início do buffer de dados de contexto até o início dos dados de contexto na estrutura NET_BUFFER_LIST_CONTEXT. O membro Offset também especifica o tamanho em bytes do espaço de contexto não utilizado na estrutura NET_BUFFER_LIST_CONTEXT.
ContextData
O buffer de dados de contexto. Os dados de contexto podem incluir qualquer informação que um driver exija.
Comentários
Cada estrutura NET_BUFFER_LIST pode incluir uma estrutura de NET_BUFFER_LIST_CONTEXT pré-alocada. À medida que uma estrutura NET_BUFFER_LIST percorre a pilha de drivers, a lista vinculada de estruturas de NET_BUFFER_LIST_CONTEXT pode se expandir para acomodar espaço de dados adicional para cada driver.
Os drivers devem usar as seguintes macros e funções NDIS para acessar e manipular membros em uma estrutura NET_BUFFER_LIST_CONTEXT:
- NdisAllocateNetBufferListContext
- NdisFreeNetBufferListContext
- NET_BUFFER_LIST_CONTEXT_DATA_START
- NET_BUFFER_LIST_CONTEXT_DATA_SIZE
Os drivers NDIS chamam o Função NdisAllocateNetBufferListContext para alocar espaço de buffer contíguo na estrutura NET_BUFFER_LIST_CONTEXT. Se necessário, o NDIS aloca uma nova estrutura de NET_BUFFER_LIST_CONTEXT com espaço adicional para atender à solicitação. Os drivers NDIS chamam o Função NdisFreeNetBufferListContext para liberar o espaço em buffer.
Use o NET_BUFFER_LIST_CONTEXT_DATA_SIZE macro para obter o tamanho do espaço de contexto usado. Use o NET_BUFFER_LIST_CONTEXT_DATA_START macro para obter o endereço inicial do espaço de contexto usado.
Para obter mais informações sobre como usar buffers de rede, consulte Arquitetura do NET_BUFFER.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Cabeçalho | ndis/nbl.h (inclua ndis.h) |