struttura NDIS_QOS_SQ_PARAMETERS (ntddndis.h)
La struttura NDIS_QOS_SQ_PARAMETERS contiene i parametri di una coda dell'utilità di pianificazione QoS (QoS) NDIS.
Sintassi
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;
Members
Header
Tipo, revisione e dimensioni della struttura NDIS_QOS_SQ_PARAMETERS . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .
Il driver miniport deve impostare il membro Type di Header su NDIS_OBJECT_TYPE_DEFAULT, il membro Revision su NDIS_QOS_SQ_PARAMETERS_REVISION_2 e il membro Size su NDIS_SIZEOF_QOS_SQ_PARAMETERS_REVISION_2.
Flags
Valore ULONG che contiene un OR bit per bit di flag. Questi flag specificano le varie funzionalità e gli attributi delle funzionalità di offload QoS hardware abilitate nell'utilità SQ. Vengono definiti i flag seguenti:
NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
Se questo flag è impostato, i limiti di larghezza di banda di trasmissione sono abilitati in questo sq.
NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
Se questo flag è impostato, le prenotazioni della larghezza di banda di trasmissione sono abilitate in questo sq.
NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
Se questo flag è impostato, i limiti di larghezza di banda di ricezione sono abilitati in questo sq.
SqId
Un NDIS_QOS_SQ_ID che contiene l'ID SQ di questo sq. NDIS assegna questo ID.
SqType
Un NDIS_QOS_SQ_TYPE che contiene il tipo di questo sq. Può trattarsi di NdisQSQosSqSQTypeStandard dalla definizione di enumerazione di NDIS_QOS_SQ_TYPE.
TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Matrice di valori BOOLEAN che specificano se ogni classe di traffico (da 0 a NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES) è abilitata per la pianificazione in questo sq.
Qualsiasi classe di traffico (TC) per cui questo campo è TRUE deve essere letto e convalidato nelle tabelle seguenti ed è limitato anche da CrossTcTransmitBandwidthCap.
Qualsiasi TC per cui questo campo è FALSE non partecipa alla limitazione della frequenza QoS da CrossTcTransmitBandwidthCap o dalle tabelle per TC riportate di seguito.
TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Matrice di elementi ULONG che specificano i limiti di larghezza di banda per ogni TC, in Mbps. Gli elementi sono validi solo se il flag è impostato e il NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
relativo elemento corrispondente in TcEnabledTable è TRUE. Un elemento con un valore pari a 0 non ha un limite.
La scheda di interfaccia di rete deve accodare tutti i pacchetti di trasmissione su questo sq per un determinato tc se superano la frequenza specificata in questa tabella.
TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Matrice di elementi ULONG che specificano le prenotazioni della larghezza di banda per ogni TC, in valori relativi compresi tra 0 e ULONG_MAX. Gli elementi sono validi solo se il flag è impostato e il NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
relativo elemento corrispondente in TcEnabledTable è TRUE. Un elemento con valore 0 indica che trasmette i pacchetti in questo SQ/TC condividono la prenotazione SQ predefinita per tale TC.
La scheda di interfaccia di rete deve accodare tutti i pacchetti di trasmissione su questo sq per un determinato tc se altre domande frequenti richiedono la larghezza di banda per soddisfare la prenotazione per questo TC.
TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Matrice di elementi ULONG che specificano i limiti di larghezza di banda per ogni TC, in Mbps. Gli elementi sono validi solo se il flag è impostato e il NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
relativo elemento corrispondente in TcEnabledTable è TRUE. Un elemento con un valore pari a 0 non ha un limite.
Si tratta di una funzionalità facoltativa per abilitare il limite di larghezza di banda di ricezione. Le schede di interfaccia di rete che annunciano il supporto del limite di ricezione devono eliminare qualsiasi pacchetto di ricezione dopo un determinato TC in questo sq ha superato la frequenza specificata in questa matrice (in base all'implementazione della pianificazione della scheda di interfaccia di rete).
CrossTcTransmitBandwidthCap
Valore ULONG che specifica il limite di larghezza di banda di trasmissione per il traffico tra i controller di dominio il cui elemento corrispondente in TcEnabledTable è TRUE, se il NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
flag è impostato.
MaxNumSqInputs
Valore ULONG che offre un "hint" al miniport sul probabile numero di vPort che il sistema operativo assocerà all'utilità SQ. Questo valore non può essere modificato dopo la creazione di SQ.
Il miniport può usare questo suggerimento per gestire meglio le risorse. Il miniport fornirà il servizio più efficiente per soddisfare la richiesta, ma potrebbe non riuscire a causa di risorse insufficienti in fase di creazione sq o ora di associazione vPort.
Il miniport deve restituire un errore se questo valore supera il valore MaxNumSQInputs specificato dal miniport in NDIS_QOS_OFFLOAD_CAPABILITIES.
Commenti
La struttura NDIS_QOS_SQ_PARAMETERS viene restituita nella richiesta di query OID OID_QOS_OFFLOAD_ENUM_SQS, che enumera le domande frequenti create in un'opzione della scheda di interfaccia di rete.
NDIS_QOS_SQ_PARAMETERS viene restituito anche nella richiesta del metodo OID OID_QOS_OFFLOAD_CREATE_SQ, che crea un nuovo sq sull'adattatore miniport.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.85 e versioni successive. |
Server minimo supportato | Windows Server 2022 |
Intestazione | ntddndis.h (include ndis.h) |