共用方式為


NDIS_QOS_SQ_PARAMETERS結構 (ntddndis.h)

NDIS_QOS_SQ_PARAMETERS結構包含 NDIS 服務品質 (QoS) 排程器佇列 (SQ) 的參數。

語法

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;

成員

Header

NDIS_QOS_SQ_PARAMETERS 結構的型別、修訂和大小。 這個成員會格式化為 NDIS_OBJECT_HEADER 結構。

迷你埠驅動程序必須將 HeaderType 成員設定為 [NDIS_OBJECT_TYPE_DEFAULT]、將 [修訂成員] 設定為 [NDIS_QOS_SQ_PARAMETERS_REVISION_2],並將 [大小] 成員設定為 [NDIS_SIZEOF_QOS_SQ_PARAMETERS_REVISION_2]。

Flags

包含旗標位 OR 的 ULONG 值。 這些旗標會指定 SQ 上啟用的硬體 QoS 卸載功能其他功能和屬性。 已定義下列旗標:

NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED

如果設定此旗標,則會在此 SQ 上啟用傳輸頻寬上限。

NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED

如果設定此旗標,則會在此 SQ 上啟用傳輸頻寬保留。

NDIS_QOS_SQ_RECEIVE_CAP_ENABLED

如果設定此旗標,則會在此 SQ 上啟用接收頻寬上限。

SqId

包含此 SQ 之 SQ 識別碼 的NDIS_QOS_SQ_ID 。 NDIS 會指派此標識碼。

SqType

包含此 SQ 類型的 NDIS_QOS_SQ_TYPE 。 這可以是 NdisQSQSQSqSQTypeStandard ,來自 NDIS_QOS_SQ_TYPE的列舉定義。

TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

BOOLEAN 值的陣列,指定是否啟用每個流量類別 (從 0 到NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES) 的排程。

任何流量類別 (TC) ,此字段應讀取並驗證下表中的 TRUE ,而且也會受到 CrossTcTransmitBandwidthCap 的速率限制。

此欄位為 FALSE 的任何 TC 都不會參與 CrossTcTransmitBandwidthCap 或以下每個 TC 數據表的 QoS 速率限制。

TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

ULONG 元素的陣列,指定每個 TC 的傳輸頻寬上限,以 Mbps 為單位。 只有在 NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED 設定 旗標且 TcEnabledTable 中的對應元素為 TRUE 時,元素才有效。 值為 0 的項目沒有上限。

如果 NIC 超過此表格中指定的速率,則 NIC 應該將此 SQ 上的任何傳輸封包排入佇列,以取得指定的 TC。

TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

ULONG 專案的陣列,指定每個 TC 的傳輸頻寬保留專案,其相對值為 0ULONG_MAX。 只有在 NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED 設定 旗標且 TcEnabledTable 中的對應元素為 TRUE 時,元素才有效。 值為 0 的專案表示在此 SQ/TC 上傳輸封包會共用該 TC 的預設 SQ 保留。

如果其他 SQ 需要頻寬才能符合此 TC 的保留,NIC 應該將此 SQ 上的任何傳輸封包排入佇列。

TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

ULONG 元素的陣列,指定每個 TC 的接收頻寬上限,以 Mbps 為單位。 只有在 NDIS_QOS_SQ_RECEIVE_CAP_ENABLED 設定 旗標且 TcEnabledTable 中的對應元素為 TRUE 時,元素才有效。 值為 0 的項目沒有上限。

這是啟用接收頻寬上限的選擇性功能。 公告接收上限支援的 NIC 應該在此 SQ 上的指定 TC 超過此數位列中指定的速率之後,卸除任何接收封包, (根據 NIC 的排程實作) 。

CrossTcTransmitBandwidthCap

ULONG 值,指定如果已設定旗標,NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED則會在 TCEnabledTable 中對應元素為 TRUE 的 DC 之間傳輸頻寬上限。

MaxNumSqInputs

ULONG 值,在 OS 與 SQ 相關聯的可能 vPort 數目上,為迷你埠提供「提示」。 建立 SQ 之後,無法修改此值。

迷你埠可能會使用此提示來更妥善地管理其資源。 迷你埠會提供最佳服務來滿足要求,但可能會因為 SQ 建立時間或 vPort 關聯時間的資源不足而失敗。

如果此值超過NDIS_QOS_OFFLOAD_CAPABILITIES中迷你埠所指定的 MaxNumSQInputs 值,迷你埠必須傳回錯誤。

備註

NDIS_QOS_SQ_PARAMETERS結構會在 OID 查詢要求OID_QOS_OFFLOAD_ENUM_SQS中傳回,它會列舉在 NIC 參數上建立的 SQ。

NDIS_QOS_SQ_PARAMETERS 也會在 OID 方法要求 OID_QOS_OFFLOAD_CREATE_SQ中傳回,這會在迷你埠配接器上建立新的 SQ。

規格需求

需求
最低支援的用戶端 NDIS 6.85 和更新版本支援。
最低支援的伺服器 Windows Server 2022
標頭 ntddndis.h (包含 ndis.h)

另請參閱

OID_QOS_OFFLOAD_ENUM_SQS

OID_QOS_OFFLOAD_CREATE_SQ

NDIS_QOS_OFFLOAD_CAPABILITIES

NDIS_QOS_SQ_ARRAY

NDIS_OBJECT_HEADER

NDIS QoS 流量類別