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_STATUS_RECEIVE_FILTER_QUEUE_PARAMETERS
NdisMIndicateReceiveNetBufferLists