Compartir a través de


estructura NDIS_QOS_SQ_PARAMETERS (ntddndis.h)

La estructura de NDIS_QOS_SQ_PARAMETERS contiene los parámetros de una cola de programador de calidad de servicio (QoS) NDIS (SQ).

Sintaxis

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;

Miembros

Header

Tipo, revisión y tamaño de la estructura NDIS_QOS_SQ_PARAMETERS . Este miembro tiene formato de estructura NDIS_OBJECT_HEADER .

El controlador de minipuerto debe establecer el miembro Type de Header en NDIS_OBJECT_TYPE_DEFAULT, el miembro Revision en NDIS_QOS_SQ_PARAMETERS_REVISION_2 y el miembro Size en NDIS_SIZEOF_QOS_SQ_PARAMETERS_REVISION_2.

Flags

Valor de ULONG que contiene un OR bit a bit de marcas. Estas marcas especifican las funcionalidades y atributos varios de las características de descarga de QoS de hardware que están habilitadas en SQ. Se definen las marcas siguientes:

NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED

Si se establece esta marca, los límites de ancho de banda de transmisión se habilitan en este SQ.

NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED

Si se establece esta marca, las reservas de ancho de banda de transmisión se habilitan en este SQ.

NDIS_QOS_SQ_RECEIVE_CAP_ENABLED

Si se establece esta marca, los límites de ancho de banda de recepción se habilitan en este SQ.

SqId

Un NDIS_QOS_SQ_ID que contiene el identificador de SQ de este SQ. NDIS asigna este identificador.

SqType

Un NDIS_QOS_SQ_TYPE que contiene el tipo de este SQ. Puede ser NdisQSQosSqSQSQTypeStandard desde la definición de enumeración de NDIS_QOS_SQ_TYPE.

TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Matriz de valores BOOLEAN que especifican si cada clase de tráfico (de 0 a NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES) está habilitada para la programación en este SQ.

Cualquier clase de tráfico (TC) para la que este campo sea TRUE debe leerse y validarse en las tablas siguientes, y también está limitada por CrossTcTransmitBandwidthCap.

Cualquier TC para el que este campo sea FALSE no participa en la limitación de velocidad de QoS de CrossTcTransmitBandwidthCap o las tablas por TC siguientes.

TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Matriz de elementos ULONG que especifican límites de ancho de banda de transmisión para cada TC, en Mbps. Los elementos solo son válidos si se establece la NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED marca y su elemento correspondiente en TcEnabledTable es TRUE. Un elemento con un valor de 0 no tiene ningún límite.

La NIC debe poner en cola los paquetes de transmisión en este SQ para un TC determinado si superan la velocidad especificada en esta tabla.

TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Matriz de elementos ULONG que especifican reservas de ancho de banda de transmisión para cada TC, en valores relativos de 0 a ULONG_MAX. Los elementos solo son válidos si se establece la NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED marca y su elemento correspondiente en TcEnabledTable es TRUE. Un elemento con un valor de 0 significa que transmitir paquetes en este SQ/TC comparten la reserva predeterminada de SQ para ese TC.

La NIC debe poner en cola los paquetes transmitidos en este SQ para un TC determinado si otros SQ requieren ancho de banda para cumplir su reserva para este TC.

TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Matriz de elementos ULONG que especifican límites de ancho de banda de recepción para cada TC, en Mbps. Los elementos solo son válidos si se establece la NDIS_QOS_SQ_RECEIVE_CAP_ENABLED marca y su elemento correspondiente en TcEnabledTable es TRUE. Un elemento con un valor de 0 no tiene ningún límite.

Esta es una característica opcional para habilitar el límite de ancho de banda de recepción. Las NIC que anuncian compatibilidad con límite de recepción deben quitar cualquier paquete de recepción después de que un TC determinado en este SQ haya superado la tasa especificada en esta matriz (en función de la implementación de programación de la NIC).

CrossTcTransmitBandwidthCap

Valor de ULONG que especifica el límite de ancho de banda de transmisión para el tráfico entre los EQUIPOS cuyo elemento correspondiente en TcEnabledTable es TRUE, si se establece la NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED marca.

MaxNumSqInputs

Valor de ULONG que ofrece una "sugerencia" al miniporte en el número probable de vPorts que el sistema operativo asociará con sq. Este valor no se puede modificar después de la creación de SQ.

El miniporte puede usar esta sugerencia para administrar mejor sus recursos. La minipuerto proporcionará un servicio de mejor esfuerzo para satisfacer la solicitud, pero puede producir un error debido a recursos insuficientes en el momento de la creación de SQ o en el momento de la asociación de vPort.

La minipuerta debe devolver un error si este valor supera el valor MaxNumSQInputs especificado por el miniport en NDIS_QOS_OFFLOAD_CAPABILITIES.

Comentarios

La estructura NDIS_QOS_SQ_PARAMETERS se devuelve en la solicitud de consulta OID OID_QOS_OFFLOAD_ENUM_SQS, que enumera los SQ creados en un conmutador NIC.

NDIS_QOS_SQ_PARAMETERS también se devuelve en el OID_QOS_OFFLOAD_CREATE_SQ de solicitud de método OID, que crea un nuevo SQ en el adaptador de minipuerto.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.85 y versiones posteriores.
Servidor mínimo compatible Windows Server 2022
Encabezado ntddndis.h (include ndis.h)

Consulte también

OID_QOS_OFFLOAD_ENUM_SQS

OID_QOS_OFFLOAD_CREATE_SQ

NDIS_QOS_OFFLOAD_CAPABILITIES

NDIS_QOS_SQ_ARRAY

NDIS_OBJECT_HEADER

Clases de tráfico de QoS de NDIS