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 0 – ULONG_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
classes de tráfego QoS do NDIS