Compartilhar via


estrutura NET_BUFFER_LIST_POOL_PARAMETERS (ndis/nblapi.h)

A estrutura NET_BUFFER_LIST_POOL_PARAMETERS define os parâmetros para um pool de estruturas de NET_BUFFER_LIST.

Sintaxe

typedef struct _NET_BUFFER_LIST_POOL_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  UCHAR              ProtocolId;
  BOOLEAN            fAllocateNetBuffer;
  USHORT             ContextSize;
  ULONG              PoolTag;
  ULONG              DataSize;
  ULONG              Flags;
} NET_BUFFER_LIST_POOL_PARAMETERS, *PNET_BUFFER_LIST_POOL_PARAMETERS;

Membros

Header

O tipo, a revisão e o tamanho da estrutura NET_BUFFER_LIST_POOL_PARAMETERS. Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER.

O driver de miniporto deve definir o membro tipo do de cabeçalho para NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura de NET_BUFFER_LIST_POOL_PARAMETERS, o driver deve definir o membro de Revisão do de Cabeçalho com o seguinte valor:

NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1

Versão original do NDIS 6.0.

Defina o membro tamanho como NDIS_SIZEOF_NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1.

ProtocolId

O tipo de chamador. Miniportar, filtrar e drivers intermediários definem esse campo como zero (NDIS_PROTOCOL_ID_DEFAULT). Os drivers de protocolo usam um dos seguintes valores:

NDIS_PROTOCOL_ID_DEFAULT

Especifica um identificador de driver de protocolo padrão.

NDIS_PROTOCOL_ID_TCP_IP

Especifica o protocolo TCP/IP.

NDIS_PROTOCOL_ID_IPX

Especifica o protocolo IPX.

NDIS_PROTOCOL_ID_NBF

Especifica o protocolo NetBEUI.

fAllocateNetBuffer

Se esse membro estiver definido como TRUE, o NDIS alocará um pool de estruturas de NET_BUFFER_LIST. Cada estrutura de NET_BUFFER_LIST alocada é inicializada com uma estrutura NET_BUFFER.

Se esse membro estiver definido como FALSE, o NDIS alocará um pool de estruturas de NET_BUFFER_LIST. Cada estrutura de NET_BUFFER_LIST alocada não é inicializada para conter estruturas NET_BUFFER.

Para obter mais informações, consulte a seção Comentários.

ContextSize

O tamanho, em bytes, dos dados de estrutura de NET_BUFFER_LIST_CONTEXT pré-alocados que o NDIS deve fornecer para as estruturas de NET_BUFFER_LIST nesse pool. O ContextSize deve ser um múltiplo do valor definido por MEMORY_ALLOCATION_ALIGNMENT.

PoolTag

Uma marca de pool de kernel que o chamador usa quando aloca NET_BUFFER_LIST estruturas desse pool. A marca é uma cadeia de caracteres, delimitada por aspas simples, com até quatro caracteres, geralmente especificadas em ordem invertida. A marca de pool de kernel ajuda o NDIS a identificar o proprietário das estruturas de NET_BUFFER_LIST alocadas desse pool.

DataSize

O tamanho de dados padrão, em bytes, para buffers de dados associados a esse pool de NET_BUFFER_LIST, se houver. O NDIS usa esse valor para definir o tamanho de quaisquer buffers de dados alocados para quaisquer estruturas de NET_BUFFER associadas.

Para obter mais informações, consulte a seção Comentários.

Flags

O seguinte sinalizador é definido:

NET_BUFFER_LIST_POOL_FLAG_VERIFY 0x00000001

Se esse sinalizador estiver definido, o NDIS não reutilizará imediatamente NET_BUFFER_LISTs desse pool. Em vez disso, as alocações serão marcadas como sem acesso quando forem liberadas para que os drivers possam detectar bugs de uso após a liberação.

Observações

Se fAllocateNetBuffer estiver definido como FALSE, o NDIS não alocará estruturas NET_BUFFER e dataSize deverá ser definido como zero.

Se DataSize não for zero, fAllocateNetBuffer deverá ser definido como TRUE. Isso faz com que o NDIS aloque a estrutura de NET_BUFFER com um buffer de dados do tamanho especificado.

Se DataSize for zero e fAllocateNetBuffer for TRUE, o NDIS alocará a estrutura NET_BUFFER, mas não o buffer de dados.

O parâmetro Parâmetros da função NdisAllocateNetBufferListPool contém um ponteiro para uma estrutura de NET_BUFFER_LIST_POOL_PARAMETERS.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
cabeçalho ndis/nblapi.h (inclua ndis.h)

Consulte também

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool