estrutura NET_BUFFER_LIST_CONTEXT (ndis/nbl.h)
A estrutura NET_BUFFER_LIST_CONTEXT armazena informações de contexto para uma estrutura de 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 do deslocamento de 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 necessária para um driver.
Observações
Cada estrutura NET_BUFFER_LIST pode incluir uma estrutura de NET_BUFFER_LIST_CONTEXT pré-alocada. À medida que uma estrutura de NET_BUFFER_LIST percorre a pilha de driver, 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 do 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 do buffer.
Usar o NET_BUFFER_LIST_CONTEXT_DATA_SIZE macro para obter o tamanho do espaço de contexto usado. Usar 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 NET_BUFFER Arquitetura.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
cabeçalho | ndis/nbl.h (inclua ndis.h) |