estrutura NDIS_RECEIVE_QUEUE_PARAMETERS (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 miniporte deve definir o membro Tipo de Cabeçalho como NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura NDIS_NIC_SWITCH_CAPABILITIES , o driver deve definir o membro Revision de Header como um dos seguintes valores:

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3

Adicionado o campo QosSqId para NDIS 6.50.

Defina o membro Size como NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_3.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2

Adicionados membros adicionais para o NDIS 6.30.

Defina o membro Size como NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2.

NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1

Versão original do NDIS 6.20.

Defina o membro Size 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 seguintes sinalizadores são válidos para o OID OID_RECEIVE_FILTER_ALLOCATE_QUEUE e o conjunto de OID_RECEIVE_FILTER_QUEUE_PARAMETERS e o OID de consulta:

NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION

O driver de miniporte 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 compartilhada separados.

Observação

A partir do NDIS 6.30, não há mais suporte para a divisão de dados de pacotes 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 seguintes sinalizadores são válidos para o OID definido 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 Flags 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.

Observação

Um driver determina quais parâmetros de fila de recebimento foram alterados executando uma operação AND bit a bit entre a definição de NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK e o valor no membro Flags . 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 compatíveis com o adaptador de rede. Um valor de NDIS_DEFAULT_RECEIVE_QUEUE_ID especifica a fila de recebimento padrão.

QueueGroupId

Esse membro é reservado para o 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

Esse membro é reservado para o 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 ao 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 Flags . 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.

Observação

A partir do NDIS 6.30, não há mais suporte para a divisão de dados de pacotes 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 na opção extensível hyper-V à qual a fila de VM está anexada.

InterruptCoalescingDomainId

Esse membro é reservado para o 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 VMQ herdado não é necessário. O driver de miniporte poderá retornar NDIS_STATUS_NOT_SUPPORTED se QosSqId não for zero.

Comentários

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 NDIS_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS status indicações.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.20 e posterior.
Servidor mínimo com suporte Windows Server 2022
Cabeçalho ntddndis.h (inclua Ndis.h)

Confira 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