Partilhar via


NDIS_RECEIVE_QUEUE_PARAMETERS estrutura (ntddndis.h)

A estrutura NDIS_RECEIVE_QUEUE_PARAMETERS contém os parâmetros de configuração de uma fila de recebimento.

Sintaxe

typedef struct _NDIS_RECEIVE_QUEUE_PARAMETERS {
  NDIS_OBJECT_HEADER          Header;
  ULONG                       Flags;
  NDIS_RECEIVE_QUEUE_TYPE     QueueType;
  NDIS_RECEIVE_QUEUE_ID       QueueId;
  NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
  GROUP_AFFINITY              ProcessorAffinity;
  ULONG                       NumSuggestedReceiveBuffers;
  ULONG                       MSIXTableEntry;
  ULONG                       LookaheadSize;
  NDIS_VM_NAME                VmName;
  NDIS_QUEUE_NAME             QueueName;
  ULONG                       PortId;
  ULONG                       InterruptCoalescingDomainId;
  NDIS_QOS_SQ_ID              QosSqId;
} NDIS_RECEIVE_QUEUE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_PARAMETERS;

Membros

Header

O tipo, a revisão e o tamanho da estrutura NDIS_RECEIVE_QUEUE_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 NDIS_NIC_SWITCH_CAPABILITIES, o driver deve definir o membro de Revisão do de Cabeçalho para um dos seguintes valores:

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3

Adicionado o campo QosSqId para NDIS 6.50.

Defina o membro tamanho do como NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2

Membros adicionais adicionados para o NDIS 6.30.

Defina o membro tamanho do como NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

Versão original do NDIS 6.20.

Defina o membro tamanho como NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1.

Flags

Um valor ULONG que contém um OR bit a bit dos sinalizadores a seguir. Os sinalizadores a seguir são válidos para o OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE e o conjunto de OID_RECEIVE_FILTER_QUEUE_PARAMETERS e consultar o OID:

NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION

O driver de miniporto não deve misturar pacotes de rede para outras filas de recebimento com os pacotes dessa fila em uma única chamada para a função NdisMIndicateReceiveNetBufferLists.

NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED

O adaptador de rede deve dividir um pacote recebido em um deslocamento igual ou maior que o tamanho do lookahead solicitado e usar o DMA para transferir os dados lookahead e os dados pós-lookahead para segmentos de memória compartilhados separados.

Nota

A partir do NDIS 6.30, não há mais suporte para a divisão de dados de pacote em buffers lookahead separados. Os drivers de miniport que dão suporte ao NDIS 6.30 ou versões posteriores devem ignorar esse sinalizador.

Os sinalizadores a seguir são válidos para a OID de conjunto de OID_RECEIVE_FILTER_QUEUE_PARAMETERS e NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS indicação de status:

NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED

A configuração no membro sinalizadores do foi alterada.

NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED

A configuração no membro ProcessorAffinity foi alterada.

NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED

A configuração no membro NumSuggestedReceiveBuffers foi alterada.

NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED

A configuração no membro QueueName foi alterada.

Nota

Um driver determina quais parâmetros de fila de recebimento foram alterados executando uma operação de AND bit a bit entre a definição de NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK e o valor no membro sinalizadores do. Se o resultado for zero, nenhum parâmetro de fila de recebimento foi alterado.

QueueType

Um valor de enumeração NDIS_RECEIVE_QUEUE_TYPE que especifica o tipo da fila de recebimento.

QueueId

Um valor de tipo NDIS_RECEIVE_QUEUE_ID que contém um identificador de fila de recebimento. Esse identificador é um valor inteiro entre zero e o número de filas que o adaptador de rede dá suporte. Um valor de NDIS_DEFAULT_RECEIVE_QUEUE_ID especifica a fila de recebimento padrão.

QueueGroupId

Este membro é reservado para NDIS.

ProcessorAffinity

Um valor GROUP_AFFINITY que especifica o número do grupo e um bitmap das CPUs às quais essa fila pode ser associada. Pelo menos um processador deve ser especificado. Portanto, o valor não deve ser zero.

NumSuggestedReceiveBuffers

Um valor ULONG que contém um valor sugerido para o número de buffers de recebimento que o adaptador de rede deve usar para dar suporte à fila. Esse número pode ser ajustado em relação aos recursos que o driver de miniporto tem disponíveis ou proporcionalmente ao número que o adaptador de rede usa para outras filas. Por exemplo, o número real de buffers de recebimento pode ser o dobro ou metade desse valor sugerido.

MSIXTableEntry

Este membro é reservado para NDIS.

LookaheadSize

Um valor ULONG para o tamanho, em bytes, do requisito de tamanho lookahead para essa fila. Um adaptador de rede que dá suporte a lookahead em filas de VM divide um pacote recebido em um deslocamento igual ou maior que o tamanho do lookahead solicitado e usa o DMA para transferir os dados lookahead e os dados pós-lookahead para segmentos de memória compartilhada separados. Se o LookaheadSize for zero, o driver de miniporto não deverá dividir o pacote.

LookaheadSize é válido quando o NDIS define o sinalizador NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED no membro sinalizadores do. Ou seja, o driver de miniporto deve dividir o pacote no tamanho do lookahead especificado se o sinalizador também estiver definido. Se o sinalizador estiver claro, um valor diferente de zero para LookaheadSize será inválido.

Nota

A partir do NDIS 6.30, não há mais suporte para a divisão de dados de pacote em buffers lookahead separados. O valor desse membro deve ser zero.

VmName

Um valor NDIS_VM_NAME que contém a descrição da máquina virtual que os usuários leem.

QueueName

Um valor NDIS_QUEUE_NAME que contém a descrição da fila que os usuários leem.

PortId

Um valor ULONG que contém o identificador exclusivo de uma porta no Hyper-V comutador extensível ao qual a fila de VM está anexada.

InterruptCoalescingDomainId

Este membro é reservado para NDIS.

QosSqId

Associa uma VMQ (Fila de Máquina Virtual) a uma Fila do Agendador (SQ). Defina esse campo como zero para nenhuma associação SQ. Para obter mais informações sobre NDIS_QOS_SQ_ID, consulte OID_QOS_OFFLOAD_CREATE_SQ.

O suporte à QoS (Qualidade de Serviço de Hardware) para O VMQ herdado não é necessário. O driver de miniporto poderá retornar NDIS_STATUS_NOT_SUPPORTED se QosSqId não for zero.

Observações

A estrutura de NDIS_RECEIVE_QUEUE_PARAMETERS é usada no OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE e no OID OID_RECEIVE_FILTER_QUEUE_PARAMETERS.

No NDIS 6.30, a estrutura de NDIS_RECEIVE_QUEUE_PARAMETERS também é usada em indicações de status NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.20 e posterior.
servidor com suporte mínimo Windows Server 2022
cabeçalho ntddndis.h (inclua Ndis.h)

Consulte também

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_TYPE

NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS

NdisMIndicateReceiveNetBufferLists

OID_RECEIVE_FILTER_ALLOCATE_QUEUE

OID_RECEIVE_FILTER_QUEUE_PARAMETERS