NDIS_QOS_PARAMETERS 構造体 (ntddndis.h)

NDIS_QOS_PARAMETERS構造体は、IEEE 802.1 データ センター ブリッジング (DCB) インターフェイスをサポートするネットワーク アダプターで有効になっている NDIS サービス品質 (QoS) パラメーターを指定します。

構文

typedef struct _NDIS_QOS_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              NumTrafficClasses;
  UCHAR              PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES];
  UCHAR              TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  UCHAR              TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              PfcEnable;
  ULONG              NumClassificationElements;
  ULONG              ClassificationElementSize;
  ULONG              FirstClassificationElementOffset;
} NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS;

メンバー

Header

NDIS_QOS_PARAMETERS構造体の型、リビジョン、およびサイズ。 このメンバーは、 NDIS_OBJECT_HEADER 構造体として書式設定されます。

ミニポート ドライバーは、ヘッダーType メンバーをNDIS_OBJECT_TYPE_QOS_PARAMETERSに設定する必要があります。 NDIS_QOS_PARAMETERS構造体のバージョンを指定するには、ドライバーは HeaderRevision メンバーを次の値に設定する必要があります。

NDIS_QOS_PARAMETERS_REVISION_1

NDIS 6.30 以降の元のバージョン。

[サイズ] メンバーを [NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1] に設定します。

Flags

ネットワーク アダプターの NDIS QoS パラメーターの状態を指定するフラグのビットごとの OR を含む ULONG 値。 このメンバーの詳細については、「 フラグ メンバーの概要」を参照してください。

NumTrafficClasses

ネットワーク アダプターで有効になっている NDIS QoS トラフィック クラスの数を指定する ULONG 値。 各トラフィック クラスは、0 から (NumTrafficClasses-1) までの範囲の識別子を介して参照されます。

メモNumTrafficClasses メンバーの値は min(NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES, MaxNumTrafficClasses) 以下である必要があります。ここで、MaxNumTrafficClasses、NDIS_QOS_CAPABILITIES構造体で指定された MaxNumTrafficClasses メンバーの値です。
 

PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES]

各要素が IEEE 802.1p 優先度レベルに関連付けられているトラフィック クラスを表す UCHAR 要素の配列。 PriorityAssignmentTable 配列のインデックスは、802.1p 優先度レベル (0 から 7) です。

各要素には、トラフィック クラス識別子が含まれています。 この識別子は、分類配列内の traffic クラスの NDIS_QOS_CLASSIFICATION_ELEMENT 構造体のインデックスです。

メモPriorityAssignmentTable 配列内の各要素には、有効なトラフィック クラス識別子を割り当てる必要があります。 トラフィック クラス識別子は、 PriorityAssignmentTable 配列内の複数の要素に割り当てることができます。
 

TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

各トラフィック クラスに割り当てられる帯域幅割り当ての割合を指定する UCHAR 要素の配列。 TcBandwidthAssignmentTable 配列のインデックスは、トラフィック クラス識別子によって行われます。

TcBandwidthAssignmentTable 配列の各要素は、トラフィック クラスの帯域幅割り当てを指定します。 TcBandwidthAssignmentTable 配列内のすべての帯域幅割り当ての合計値は 100 である必要があります。

メモ 帯域幅の割り当ては、拡張伝送選択 (ETS) TSA でのみサポートされます。 TsaAssignmentTable 配列の traffic クラスの要素が NDIS_QOS_TSA_ETS に設定されていない場合は、TcBandwidthAssignmentTable 配列の traffic クラスの要素を 0 に設定する必要があります。
 

TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

各トラフィック クラスに割り当てられている TSA を指定する UCHAR 要素の配列。 TsaAssignmentTable 配列のインデックスは、トラフィック クラス識別子によって行われます。

TsaAssignmentTable 配列の各要素には、次のいずれかの値が含まれています。

NDIS_QOS_TSA_STRICT

厳密な優先度アルゴリズムは、トラフィック クラスの TSA として使用する必要があります。 この TSA の詳細については、「 厳密な優先度アルゴリズム」を参照してください。

NDIS_QOS_TSA_CBS

IEEE 802.1Qav クレジット ベースのシェーパー (CBS) アルゴリズムは、トラフィック クラスの TSA として使用する必要があります。

メモWindows Server 2012以降、DCB コンポーネント (Msdcb.sys) は CBS TSA をサポートしていないため、OID_QOS_PARAMETERSのオブジェクト識別子 (OID) メソッド要求を通じてこのパラメーター有効にしません。 DCB コンポーネントの詳細については、「 データ センター ブリッジングの NDIS QoS アーキテクチャ」を参照してください。
 

NDIS_QOS_TSA_ETS

IEEE 802.1Qaz Enhanced Transmission Selection (ETS) アルゴリズムは、トラフィック クラスの TSA として使用する必要があります。 この TSA の詳細については、「 拡張伝送選択 (ETS) アルゴリズム」を参照してください。

PfcEnable

32 ビットのビットマップ。 最も重要な 24 ビットは、将来の使用のために予約されています。 最下位 8 ビットを使用して、IEEE 802.1p 優先度レベルでPFC を有効にするかどうかを指定します。 ビットが 1 に設定されている場合は、優先度レベルに対して PFC が有効になります。

ビットの範囲 意味
31:24 将来利用するために予約されています。
7 1 に設定すると、802.1p 優先度レベル 7 (ネットワーク制御) でPFC が有効になります。
6 1 に設定すると、802.1p 優先度レベル 6 (インターネットワーク制御) でPFC が有効になります。
5 1 に設定すると、802.1p 優先度レベル 5 (音声) でPFC が有効になります。
4 1 に設定すると、802.1p 優先度レベル 4 (ビデオ) でPFC が有効になります。
3 1 に設定すると、802.1p 優先度レベル 3 (クリティカル アプリケーション) でPFC が有効になります。
2 1 に設定すると、802.1p 優先度レベル 2 (優れた作業量) でPFC が有効になります。
1 1 に設定すると、802.1p 優先度レベル 1 (バックグラウンド) でPFC が有効になります。
0 1 に設定すると、802.1p 優先度レベル 0 (ベスト エフォート) でPFC が有効になります。
 
メモPFC が有効になっている 802.1p 優先度レベルの合計数は、NDIS_QOS_CAPABILITIES構造体の MaxNumPfcEnabledTrafficClasses メンバーの値以下である必要があります。
 
優先度レベルの詳細については、「 IEEE 802.1p 優先度レベル」を参照してください。

NumClassificationElements

トラフィック分類配列内の要素の数を指定する ULONG 値。 この配列の最初の要素へのオフセットは、 FirstClassificationElementOffset メンバーによって指定されます。

メモ 配列内の各要素は、 NDIS_QOS_CLASSIFICATION_ELEMENT 構造体として書式設定されます。
 

ClassificationElementSize

トラフィック分類配列内の各要素のサイズをバイト単位で指定する ULONG 値。

メモ NDIS 6.30 以降では、このメンバーを に設定する sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT必要があります。
 

FirstClassificationElementOffset

この構造体に続くトラフィック分類要素の配列の最初の要素へのオフセットをバイト単位で指定する ULONG 値。 オフセットは、 NDIS_QOS_PARAMETERS 構造体の先頭から最初の要素の先頭まで測定されます。 配列内の各要素は 、NDIS_QOS_CLASSIFICATION_ELEMENT 構造体です。

メモNumClassificationElements が 0 に設定されている場合、このメンバーは無視されます。
 

注釈

NDIS_QOS_PARAMETERS構造体は、ネットワーク アダプターが送信 (エグレス) パケットを優先する方法を定義するパラメーターを指定します。 この構造体は、次の OID 要求で使用されます。

  • OID_QOS_OPERATIONAL_PARAMETERSの OID クエリ要求。 この OID 要求は、ネットワーク アダプターで現在プロビジョニングされている運用 QoS パラメーターを返します。
  • OID_QOS_REMOTE_PARAMETERSの OID クエリ要求。 この OID 要求は、ネットワーク アダプターで現在プロビジョニングされているリモート QoS パラメーターを返します。
  • OID_QOS_PARAMETERSの OID メソッド要求。 この OID 要求は、ローカル QoS パラメーターを使用してネットワーク アダプターをプロビジョニングします。
ミニポート ドライバーは、次の NDIS 状態を示す NDIS_QOS_PARAMETERS 構造体も返します。 NDIS QoS パラメーターの種類の詳細については、「 NDIS QoS パラメーターの概要」を参照してください。

Flags メンバーの概要

Flags メンバーには、ネットワーク アダプターの NDIS QoS パラメーターの状態を指定するフラグのビットごとの OR が含まれています。

ミニポート ドライバーは、次の NDIS 状態表示を発行するときに フラグ メンバーを設定します。

DCB コンポーネントは、OID_QOS_PARAMETERSの OID メソッド要求を発行するときに Flags メンバー を設定します
メモ OID 要求を発行できるのは DCB コンポーネントだけです。 上にあるプロトコルまたはフィルター ドライバーは、この OID を発行しないでください。 DCB コンポーネントの詳細については、「 データ センター ブリッジングの NDIS QoS アーキテクチャ」を参照してください。
 
Flags メンバーには、次の フラグ が定義されています。
メモ NDIS では、 NDIS_QOS_PARAMETERS_ETS_CONFIGURED フラグと NDIS_QOS_PARAMETERS_PFC_CONFIGURED フラグの両方が一緒に設定またはクリアされます。
 
NDIS_QOS_PARAMETERS_Xxx_CHANGED フラグは、パラメーターの対応するグループが以前のOID_QOS_PARAMETERSメソッド要求から変更されたか、NDIS_QOS_PARAMETERS_Xxx_CHANGED 状態通知から変更されたかに関するヒントを提供します。 ミニポート ドライバーが NDIS_QOS_PARAMETERS_Xxx_CHANGED 状態通知を発行すると、必要に応じてこれらのフラグを設定できます。
メモNDIS_QOS_PARAMETERS_Xxx_CHANGED フラグが設定されていない場合、基になるドライバーは、基になるネットワーク アダプターで対応するパラメーター グループがサポートまたは有効になっていると想定しないでください。
 

要件

要件
サポートされている最小のクライアント NDIS 6.30 以降でサポートされています。
Header ntddndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_QOS_CAPABILITIES

NDIS_QOS_CLASSIFICATION_ELEMENT

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE

NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

NdisMSetMiniportAttributes

OID_QOS_CURRENT_CAPABILITIES

OID_QOS_HARDWARE_CAPABILITIES