estrutura NDIS_QOS_PARAMETERS (ntddndis.h)

A estrutura NDIS_QOS_PARAMETERS especifica os parâmetros de QoS (Qualidade de Serviço) do NDIS habilitados em um adaptador de rede que dá suporte à interface DCB (Ponte de Data Center) do IEEE 802.1.

Sintaxe

typedef struct _NDIS_QOS_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              NumTrafficClasses;
  UCHAR              PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES];
  UCHAR              TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  UCHAR              TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              PfcEnable;
  ULONG              NumClassificationElements;
  ULONG              ClassificationElementSize;
  ULONG              FirstClassificationElementOffset;
} NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS;

Membros

Header

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

O driver de miniporta deve definir o membro Type de Header como NDIS_OBJECT_TYPE_QOS_PARAMETERS. Para especificar a versão da estrutura NDIS_QOS_PARAMETERS , o driver deve definir o membro Revision de Header para o seguinte valor:

NDIS_QOS_PARAMETERS_REVISION_1

Versão original do NDIS 6.30 e posterior.

Defina o membro Size como NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.

Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores que especificam o status dos parâmetros de QoS do NDIS para o adaptador de rede. Para obter mais informações sobre esse membro, consulte Visão geral do membro Flags.

NumTrafficClasses

Um valor ULONG que especifica o número de classes de tráfego QoS do NDIS habilitadas no adaptador de rede. Cada classe de tráfego é referenciada por meio de um identificador no intervalo de zero a (NumTrafficClasses–1).

Nota O valor do membro NumTrafficClasses deve ser menor ou igual a min(NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES, MaxNumTrafficClasses), em que MaxNumTrafficClasses é o valor do membro MaxNumTrafficClasses especificado na estrutura NDIS_QOS_CAPABILITIES .
 

PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES]

Uma matriz de elementos UCHAR em que cada elemento representa a classe de tráfego associada a um nível de prioridade IEEE 802.1p. A matriz PriorityAssignmentTable é indexada pelo nível de prioridade de 802,1p (0 a 7).

Cada elemento contém o identificador de classe de tráfego. Esse identificador é o índice da estrutura NDIS_QOS_CLASSIFICATION_ELEMENT para a classe de tráfego dentro da matriz de classificação.

Nota Cada elemento na matriz PriorityAssignmentTable deve receber um identificador de classe de tráfego válido. Um identificador de classe de tráfego pode ser atribuído a mais de um elemento na matriz PriorityAssignmentTable .
 

TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Uma matriz de elementos UCHAR que especifica a porcentagem da alocação de largura de banda atribuída a cada classe de tráfego. A matriz TcBandwidthAssignmentTable é indexada pelo identificador de classe de tráfego.

Cada elemento da matriz TcBandwidthAssignmentTable especifica a alocação de largura de banda para as classes de tráfego. O valor total de todas as atribuições de alocação de largura de banda na matriz TcBandwidthAssignmentTable deve ser igual a 100.

Nota A alocação de largura de banda tem suporte apenas para a TSA de ETS (Seleção de Transmissão Avançada). Se o elemento da classe de tráfego na matriz TsaAssignmentTable não estiver definido como NDIS_QOS_TSA_ETS, o elemento para a classe de tráfego na matriz TcBandwidthAssignmentTable deverá ser definido como zero.
 

TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Uma matriz de elementos UCHAR que especifica a TSA atribuída a cada classe de tráfego. A matriz TsaAssignmentTable é indexada pelo identificador de classe de tráfego.

Cada elemento da matriz TsaAssignmentTable contém um dos seguintes valores:

NDIS_QOS_TSA_STRICT

O algoritmo de prioridade estrita deve ser usado como a TSA para a classe de tráfego. Para obter mais informações sobre essa TSA, consulte Algoritmo de prioridade estrita.

NDIS_QOS_TSA_CBS

O algoritmo CBS (modelador baseado em crédito) do IEEE 802.1Qav deve ser usado como TSA para a classe de tráfego.

Nota Começando com Windows Server 2012, o componente DCB (Msdcb.sys) não dá suporte à TSA cbs e não habilitará esse parâmetro por meio de solicitações de método OID (identificador de objeto) de OID_QOS_PARAMETERS. Para obter mais informações sobre o componente DCB, consulte Arquitetura de QoS do NDIS para ponte do Data Center.
 

NDIS_QOS_TSA_ETS

O algoritmo ETS (Seleção de Transmissão Avançada) do IEEE 802.1Qaz deve ser usado como TSA para a classe de tráfego. Para obter mais informações sobre essa TSA, consulte Algoritmo ETS (Seleção avançada de transmissão).

PfcEnable

Um bitmap de 32 bits. Os 24 bits mais significativos são reservados para uso futuro. Os 8 bits menos significativos são usados para especificar se o PFC está habilitado no nível de prioridade do IEEE 802.1p. Se o bit estiver definido como um, o PFC será habilitado para o nível de prioridade.

Intervalo de bits Significado
31:24 Reservado para uso futuro.
7 Se definido como um, o PFC será habilitado no nível de prioridade 7 de 802,1p (controle de rede).
6 Se definido como um, o PFC será habilitado no nível de prioridade 6 de 802,1p (controle de trabalho na Internet).
5 Se definido como um, o PFC será habilitado no nível de prioridade 5 (voz) de 802,1p.
4 Se definido como um, o PFC será habilitado no nível de prioridade 4 de 802,1p (vídeo).
3 Se definido como um, o PFC será habilitado no nível de prioridade 3 de 802,1p (aplicativos críticos).
2 Se definido como um, o PFC será habilitado no nível de prioridade 2 de 802,1p (excelente esforço).
1 Se definido como um, o PFC será habilitado no nível de prioridade 1 de 802,1p (segundo plano).
0 Se definido como um, o PFC será habilitado no nível de prioridade 0 de 802,1p (melhor esforço).
 
Nota O número total de níveis de prioridade de 802,1p que têm o PFC habilitado deve ser menor ou igual ao valor do membro MaxNumPfcEnabledTrafficClasses na estrutura NDIS_QOS_CAPABILITIES .
 
Para obter mais informações sobre níveis de prioridade, consulte Níveis de prioridade do IEEE 802.1p.

NumClassificationElements

Um valor ULONG que especifica o número de elementos na matriz de classificação de tráfego. O deslocamento para o primeiro elemento nessa matriz é especificado pelo membro FirstClassificationElementOffset .

Nota Cada elemento na matriz é formatado como uma estrutura NDIS_QOS_CLASSIFICATION_ELEMENT .
 

ClassificationElementSize

Um valor ULONG que especifica o tamanho, em bytes, de cada elemento na matriz de classificação de tráfego.

Nota A partir do NDIS 6.30, esse membro deve ser definido sizeof(NDIS_QOS_CLASSIFICATION_ELEMENTcomo ).
 

FirstClassificationElementOffset

Um valor ULONG que especifica o deslocamento, em bytes, para o primeiro elemento em uma matriz de elementos de classificação de tráfego que seguem essa estrutura. O deslocamento é medido desde o início da estrutura NDIS_QOS_PARAMETERS até o início do primeiro elemento. Cada elemento na matriz é uma estrutura NDIS_QOS_CLASSIFICATION_ELEMENT .

Nota Se NumClassificationElements estiver definido como zero, esse membro será ignorado.
 

Comentários

A estrutura NDIS_QOS_PARAMETERS especifica os parâmetros que definem como o adaptador de rede prioriza os pacotes de transmissão ou saída. Essa estrutura é usada nas seguintes solicitações de OID:

  • Solicitação de consulta OID de OID_QOS_OPERATIONAL_PARAMETERS. Essa solicitação OID retorna os parâmetros operacionais de QoS que estão atualmente provisionados no adaptador de rede.
  • Solicitação de consulta OID de OID_QOS_REMOTE_PARAMETERS. Essa solicitação OID retorna os parâmetros de QoS remotos que estão atualmente provisionados no adaptador de rede.
  • Solicitações de método OID de OID_QOS_PARAMETERS. Essa solicitação OID provisiona o adaptador de rede com os parâmetros de QoS locais.
O driver de miniporta também retorna uma estrutura NDIS_QOS_PARAMETERS nas seguintes indicações de status NDIS: Para obter mais informações sobre os tipos de parâmetros de QoS do NDIS, consulte Visão geral dos parâmetros de QoS do NDIS.

Visão geral do membro Flags

O membro Flags contém um OR bit a bit de sinalizadores que especificam o status dos parâmetros de QoS do NDIS para o adaptador de rede.

O driver de miniporta define o membro Flags quando emite as seguintes indicações de status NDIS:

O componente DCB define o membro Flags quando emite uma solicitação de método OID de OID_QOS_PARAMETERS.
Nota Somente o componente DCB pode emitir a solicitação OID. Um driver de filtro ou protocolo sobreposto não deve emitir esse OID. Para obter mais informações sobre o componente DCB, consulte Arquitetura de QoS do NDIS para ponte do Data Center.
 
Os sinalizadores a seguir são definidos para o membro Flags .
Nota O NDIS garante que os sinalizadores NDIS_QOS_PARAMETERS_ETS_CONFIGURED e NDIS_QOS_PARAMETERS_PFC_CONFIGURED sejam definidos ou limpos juntos.
 
Os sinalizadores NDIS_QOS_PARAMETERS_Xxx_CHANGED fornecem dicas sobre se o grupo de parâmetros correspondente foi alterado de uma solicitação de método OID_QOS_PARAMETERS anterior ou NDIS_QOS_PARAMETERS_Xxx_CHANGED status notificação. Quando o driver de miniporta emite as notificações NDIS_QOS_PARAMETERS_Xxx_CHANGED status, opcionalmente, ele pode definir esses sinalizadores.
Nota Se os sinalizadores NDIS_QOS_PARAMETERS_Xxx_CHANGED não estiverem definidos, os drivers subjacentes não deverão assumir que o grupo correspondente de parâmetros tem suporte ou está habilitado no adaptador de rede subjacente.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.30 e posterior.
Cabeçalho ntddndis.h (inclua Ndis.h)

Confira também

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_QOS_CAPABILITIES

NDIS_QOS_CLASSIFICATION_ELEMENT

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE

NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

NdisMSetMiniportAttributes

OID_QOS_CURRENT_CAPABILITIES

OID_QOS_HARDWARE_CAPABILITIES