Freigeben über


NDIS_QOS_SQ_PARAMETERS Struktur (ntddndis.h)

Die NDIS_QOS_SQ_PARAMETERS-Struktur enthält die Parameter einer NDIS Quality of Service (QoS) Scheduler Queue (SQ).

Syntax

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;

Angehörige

Header

Der Typ, die Überarbeitung und die Größe der NDIS_QOS_SQ_PARAMETERS Struktur. Dieses Element ist als NDIS_OBJECT_HEADER Struktur formatiert.

Der Miniporttreiber muss den Type Member von Header- auf NDIS_OBJECT_TYPE_DEFAULT, das Revision selement auf NDIS_QOS_SQ_PARAMETERS_REVISION_2 und das Size Member auf NDIS_SIZEOF_QOS_SQ_PARAMETERS_REVISION_2 festlegen.

Flags

Ein ULONG-Wert, der ein bitweises OR von Flags enthält. Diese Flags geben die verschiedenen Funktionen und Attribute der Hardware QoS Offload-Features an, die auf dem SQ aktiviert sind. Die folgenden Flags sind definiert:

NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED

Wenn dieses Kennzeichen festgelegt ist, sind Bandbreitengrenzen auf diesem SQ aktiviert.

NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED

Wenn dieses Kennzeichen festgelegt ist, sind Übertragungsbandbreitenreservierungen auf diesem SQ aktiviert.

NDIS_QOS_SQ_RECEIVE_CAP_ENABLED

Wenn dieses Flag festgelegt ist, werden Bandbreitengrenzen für diesen SQ aktiviert.

SqId

Eine NDIS_QOS_SQ_ID, die die SQ-ID dieses SQ enthält. NDIS weist diese ID zu.

SqType

Eine NDIS_QOS_SQ_TYPE, die den Typ dieses SQ enthält. Dies kann aus der Enumerationsdefinition von NDIS_QOS_SQ_TYPENdisQosSqSqTypeStandard werden.

TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Ein Array von BOOLESCHEN Werten, die angeben, ob jede Datenverkehrsklasse (von 0 bis NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES) für die Planung in diesem SQ aktiviert ist.

Jede Datenverkehrsklasse (TC), für die dieses Feld TRUE- ist, sollte in den folgenden Tabellen gelesen und überprüft werden und ist auch durch CrossTcTransmitBandwidthCapeingeschränkt.

Jeder TC, für den dieses Feld FALSE ist, nimmt nicht an der Begrenzung der QoS-Rate von CrossTcTransmitBandwidthCap oder den nachfolgenden Tabellen pro TC teil.

TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Ein Array von ULONG-Elementen, die Bandbreitengrenzen für jeden TC in Mbps angeben. Elemente sind nur gültig, wenn das NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED Flag festgelegt ist und das entsprechende Element in TcEnabledTableTRUEist. Ein Element mit dem Wert 0 hat keine Großbuchstaben.

Die NIC sollte alle Übertragungspakete auf diesem SQ für einen bestimmten TC in die Warteschlange stellen, wenn sie die in dieser Tabelle angegebene Rate überschreiten.

TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Ein Array von ULONG-Elementen, die bandbreitenreservierungen für jeden TC angeben, in relativen Werten von 0ULONG_MAX. Elemente sind nur gültig, wenn das NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED Flag festgelegt ist und das entsprechende Element in TcEnabledTableTRUEist. Ein Element mit dem Wert 0 bedeutet, dass das Übertragen von Paketen auf diesem SQ/TC die Reservierung des Standard-SQ für diesen TC teilt.

Die NIC sollte alle Übertragungspakete auf diesem SQ für einen bestimmten TC in die Warteschlange stellen, wenn andere SQs Bandbreite benötigen, um ihre Reservierung für diesen TC zu erfüllen.

TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Ein Array von ULONG-Elementen, die Bandbreitengrenzen für jeden TC in Mbps angeben. Elemente sind nur gültig, wenn das NDIS_QOS_SQ_RECEIVE_CAP_ENABLED Flag festgelegt ist und das entsprechende Element in TcEnabledTableTRUEist. Ein Element mit dem Wert 0 hat keine Großbuchstaben.

Dies ist ein optionales Feature zum Aktivieren der Bandbreitenkapping für Empfangsbandbreiten. NICs, die den Empfang von Cap-Support bewerben, sollten jedes Empfangspaket ablegen, nachdem ein bestimmter TC auf diesem SQ die in diesem Array angegebene Rate überschritten hat (basierend auf der Planungsimplementierung der NIC).

CrossTcTransmitBandwidthCap

Ein ULONG-Wert, der die Übertragungsbandbreitengrenze für Datenverkehr über TCs angibt, deren entsprechendes Element in TcEnabledTable-TRUE-ist, wenn das NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED-Flag festgelegt ist.

MaxNumSqInputs

Ein ULONG-Wert, der einen "Hinweis" für den Miniport für die wahrscheinliche Anzahl von vPorts bietet, die das Betriebssystem dem SQ zuordnen wird. Dieser Wert kann nach der ERSTELLUNG von SQ nicht geändert werden.

Der Miniport kann diesen Hinweis verwenden, um seine Ressourcen besser zu verwalten. Der Miniport stellt den best-effort-Dienst bereit, um die Anforderung zu erfüllen, kann jedoch aufgrund unzureichender Ressourcen zur ERSTELLUNGszeit oder zur vPort-Zuordnung fehlschlagen.

Der Miniport muss einen Fehler zurückgeben, wenn dieser Wert den MaxNumSQInputs Wert überschreitet, der durch den Miniport in NDIS_QOS_OFFLOAD_CAPABILITIESangegeben wird.

Bemerkungen

Die NDIS_QOS_SQ_PARAMETERS Struktur wird in der OID-Abfrageanforderung OID_QOS_OFFLOAD_ENUM_SQSzurückgegeben, die SQs aufzählt, die auf einem NIC-Switch erstellt wurden.

NDIS_QOS_SQ_PARAMETERS wird auch in der OID-Methodenanforderung OID_QOS_OFFLOAD_CREATE_SQzurückgegeben, wodurch ein neuer SQ auf dem Miniportadapter erstellt wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.85 und höher.
mindestens unterstützte Server- Windows Server 2022
Header- ntddndis.h (include ndis.h)

Siehe auch

OID_QOS_OFFLOAD_ENUM_SQS

OID_QOS_OFFLOAD_CREATE_SQ

NDIS_QOS_OFFLOAD_CAPABILITIES

NDIS_QOS_SQ_ARRAY

NDIS_OBJECT_HEADER

NDIS QoS-Datenverkehrsklassen