Compartilhar via


NDIS_QOS_SQ_PARAMETERS estrutura (ntddndis.h)

A estrutura NDIS_QOS_SQ_PARAMETERS contém os parâmetros de uma fila de agendador de QoS (Qualidade de Serviço) do NDIS (SQ).

Sintaxe

typedef struct _NDIS_QOS_SQ_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  NDIS_QOS_SQ_ID     SqId;
  NDIS_QOS_SQ_TYPE   SqType;
  BOOLEAN            TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              CrossTcTransmitBandwidthCap;
  ULONG              MaxNumSqInputs;
} NDIS_QOS_SQ_PARAMETERS, *PNDIS_QOS_SQ_PARAMETERS;

Membros

Header

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

O driver de miniporto deve definir o membro tipo do de cabeçalho como NDIS_OBJECT_TYPE_DEFAULT, o membro de Revisão de como NDIS_QOS_SQ_PARAMETERS_REVISION_2 e o membro tamanho para NDIS_SIZEOF_QOS_SQ_PARAMETERS_REVISION_2.

Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esses sinalizadores especificam os diversos recursos e atributos dos recursos de descarregamento de QoS de hardware que estão habilitados no SQ. Os seguintes sinalizadores são definidos:

NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED

Se esse sinalizador estiver definido, as tampas de largura de banda de transmissão serão habilitadas neste SQ.

NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED

Se esse sinalizador estiver definido, as reservas de largura de banda de transmissão serão habilitadas neste SQ.

NDIS_QOS_SQ_RECEIVE_CAP_ENABLED

Se esse sinalizador estiver definido, as tampas de largura de banda de recebimento serão habilitadas neste SQ.

SqId

Um NDIS_QOS_SQ_ID que contém a ID SQ deste SQ. O NDIS atribui essa ID.

SqType

Um NDIS_QOS_SQ_TYPE que contém o tipo desse SQ. Isso pode ser NdisQSQosSqSQTypeStandard da definição de enumeração de NDIS_QOS_SQ_TYPE.

TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Uma matriz de valores BOOLEAN que especificam se cada classe de tráfego (de 0 a NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES) está habilitada para agendamento neste SQ.

Qualquer TC (classe de tráfego) para a qual esse campo é VERDADEIRO deve ser lido e validado nas tabelas abaixo e também é limitado por CrossTcTransmitBandwidthCap.

Qualquer TC para o qual esse campo é FALSE não participa da limitação de taxa de QoS de CrossTcTransmitBandwidthCap ou das tabelas por TC abaixo.

TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Uma matriz de elementos ULONG que especificam tampas de largura de banda de transmissão para cada TC, em Mbps. Os elementos só serão válidos se o sinalizador NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED estiver definido e seu elemento correspondente no TcEnabledTable for VERDADEIRO. Um elemento com um valor de 0 não tem limite.

A NIC deve enfileirar todos os pacotes de transmissão neste SQ para um determinado TC se eles excederem a taxa especificada nesta tabela.

TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Uma matriz de elementos ULONG que especificam reservas de largura de banda de transmissão para cada TC, em valores relativos de 0ULONG_MAX. Os elementos só serão válidos se o sinalizador NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED estiver definido e seu elemento correspondente no TcEnabledTable for VERDADEIRO. Um elemento com um valor de 0 significa que os pacotes de transmissão nesse SQ/TC compartilham a reserva padrão do SQ para esse TC.

A NIC deve enfileirar todos os pacotes de transmissão neste SQ para um determinado TC se outros SQs exigirem largura de banda para atender à reserva para este TC.

TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Uma matriz de elementos ULONG que especificam caps de largura de banda de recebimento para cada TC, em Mbps. Os elementos só serão válidos se o sinalizador NDIS_QOS_SQ_RECEIVE_CAP_ENABLED estiver definido e seu elemento correspondente no TcEnabledTable for VERDADEIRO. Um elemento com um valor de 0 não tem limite.

Esse é um recurso opcional para habilitar a limitação de largura de banda de recebimento. As NICs que anunciam o suporte ao limite de recebimento devem descartar qualquer pacote de recebimento depois que um determinado TC nesse SQ excedeu a taxa especificada nessa matriz (com base na implementação de agendamento da NIC).

CrossTcTransmitBandwidthCap

Um valor ULONG que especifica a limite de largura de banda de transmissão para tráfego entre TCs cujo elemento correspondente em TcEnabledTable é verdadeiro, se o sinalizador NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED estiver definido.

MaxNumSqInputs

Um valor ULONG que oferece uma "dica" para o miniporto no número provável de vPorts que o sistema operacional associará ao SQ. Esse valor não pode ser modificado após a criação do SQ.

O miniporto pode usar essa dica para gerenciar melhor seus recursos. O miniporto fornecerá um serviço de melhor esforço para atender à solicitação, mas pode falhar devido a recursos insuficientes no momento da criação do SQ ou no tempo de associação do vPort.

O miniporto deverá retornar um erro se esse valor exceder o valor de MaxNumSQInputs especificado pelo miniporto em NDIS_QOS_OFFLOAD_CAPABILITIES.

Observações

A estrutura NDIS_QOS_SQ_PARAMETERS é retornada na solicitação de consulta OID OID_QOS_OFFLOAD_ENUM_SQS, que enumera SQs criados em um comutador NIC.

NDIS_QOS_SQ_PARAMETERS também é retornado no OID_QOS_OFFLOAD_CREATE_SQde solicitação do método OID, que cria um novo SQ no adaptador de miniporto.

Requisitos

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

Consulte também

OID_QOS_OFFLOAD_ENUM_SQS

OID_QOS_OFFLOAD_CREATE_SQ

NDIS_QOS_OFFLOAD_CAPABILITIES

NDIS_QOS_SQ_ARRAY

NDIS_OBJECT_HEADER

classes de tráfego QoS do NDIS