NDIS_QOS_SQ_PARAMETERS-Struktur (ntddndis.h)
Die NDIS_QOS_SQ_PARAMETERS-Struktur enthält die Parameter einer QoS-Scheduler-Warteschlange (QoS) von NDIS.
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;
Member
Header
Typ, Revision und Größe der NDIS_QOS_SQ_PARAMETERS-Struktur . Dieser Member ist als NDIS_OBJECT_HEADER-Struktur formatiert.
Der Miniporttreiber muss das Type-Element von Header auf NDIS_OBJECT_TYPE_DEFAULT, der Revisionsmember auf NDIS_QOS_SQ_PARAMETERS_REVISION_2 und das Element Größe 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 Flag festgelegt ist, werden die Übertragungsbandbreitenobergrenzen für diesen SQ aktiviert.
NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
Wenn dieses Flag festgelegt ist, werden Übertragungsbandbreitenreservierungen für diesen SQ aktiviert.
NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
Wenn dieses Flag festgelegt ist, werden die Empfangsbandbreitenobergrenzen 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 NdisQSQosSqSQTypeStandard aus der Enumerationsdefinition von NDIS_QOS_SQ_TYPE sein.
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.
Alle Datenverkehrsklassen (TC), für die dieses Feld TRUE ist, sollten in den folgenden Tabellen gelesen und überprüft werden. Außerdem wird die Rate durch CrossTcTransmitBandwidthCap eingeschränkt.
Jeder TC, für den dieses Feld FALSE ist, nimmt nicht an der QoS-Ratenbegrenzung von CrossTcTransmitBandwidthCap oder den nachfolgenden Tabellen pro TC teil.
TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Ein Array von ULONG-Elementen, die Übertragungsbandbreitenbegrenzungen für jeden TC in MBit/s angeben. Elemente sind nur gültig, wenn das NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
Flag festgelegt ist und das entsprechende Element in TcEnabledTableTRUE ist. Ein Element mit dem Wert 0 hat keine Obergrenze.
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 Übertragungsbandbreitenreservierungen für jeden TC in relativen Werten von 0bis ULONG_MAX angeben. Elemente sind nur gültig, wenn das NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
Flag festgelegt ist und das entsprechende Element in TcEnabledTableTRUE ist. Ein Element mit dem Wert 0 bedeutet, dass die Übertragung von Paketen auf diesem SQ/TC die Reservierung des Standard-SQ für diesen TC gemeinsam verwendet.
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 Empfangsbandbreitenobergrenzen für jedes TC in MBit/s angeben. Elemente sind nur gültig, wenn das NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
Flag festgelegt ist und das entsprechende Element in TcEnabledTableTRUE ist. Ein Element mit dem Wert 0 hat keine Obergrenze.
Dies ist ein optionales Feature zum Aktivieren der Empfangsbandbreitenkapping. NiCs, die Empfangsobergrenzen unterstützen, sollten alle Empfangspakete löschen, nachdem ein bestimmter TC in diesem SQ die in diesem Array angegebene Rate überschritten hat (basierend auf der Planungsimplementierung der NIC).
CrossTcTransmitBandwidthCap
Ein ULONG-Wert, der die Obergrenze der Übertragungsbandbreite für Datenverkehr über TCs angibt, deren entsprechendes Element in TcEnabledTableTRUE 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 SQ-Erstellung nicht geändert werden.
Der Miniport kann diesen Hinweis verwenden, um seine Ressourcen besser zu verwalten. Der Miniport stellt den bestmöglichen Dienst bereit, um die Anforderung zu erfüllen, kann jedoch aufgrund unzureichender Ressourcen zum Zeitpunkt der SQ-Erstellung oder der vPort-Zuordnung fehlschlagen.
Der Miniport muss einen Fehler zurückgeben, wenn dieser Wert den vom Miniport in NDIS_QOS_OFFLOAD_CAPABILITIES angegebenen MaxNumSQInputs-Wert überschreitet.
Hinweise
Die NDIS_QOS_SQ_PARAMETERS-Struktur wird in der OID-Abfrageanforderung OID_QOS_OFFLOAD_ENUM_SQS zurückgegeben, die auf einem NIC-Switch erstellte SQs aufzählt.
NDIS_QOS_SQ_PARAMETERS wird auch in der OID-Methodenanforderung OID_QOS_OFFLOAD_CREATE_SQ zurückgegeben, wodurch ein neuer SQ auf dem Miniportadapter erstellt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.85 und höher. |
Unterstützte Mindestversion (Server) | Windows Server 2022 |
Kopfzeile | ntddndis.h (include ndis.h) |