OID_QOS_PARAMETERS
データ センター ブリッジング (DCB) コンポーネント (Msdcb.sys) は、OID_QOS_PARAMETERS のオブジェクト識別子 (OID) メソッド要求を発行して、ネットワーク アダプターでローカル NDIS サービス品質 (QoS) パラメーターを構成します。
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_QOS_PARAMETERS 構造体を指すポインターが含まれています。
注 IEEE 802.1 データ センター ブリッジング (DCB) インターフェイスの NDIS QoS をサポートするミニポート ドライバーには、この OID メソッド要求が必須です。
解説
ミニポート ドライバーは、OID_QOS_PARAMETERS の OID メソッド要求を介して、ローカル NDIS QoS パラメーターを取得します。 これらのパラメーターは、ネットワーク アダプターが送信、つまり、エグレス パケットに優先順位を付ける方法を定義します。 これらのパラメーターについて詳しくは、「NDIS QoS パラメーターの概要」をご覧ください。
注 OID_QOS_PARAMETERS の OID メソッド要求を発行できるのは DCB コンポーネントだけです。 上部のプロトコルまたはフィルター ドライバーは、この OID を発行できません。 DCB コンポーネントについて詳しくは、「データ センター ブリッジングの NDIS QoS アーキテクチャ」をご覧ください。
DCB コンポーネントは、次の条件下で OID_QOS_PARAMETERS 要求を発行します。
システム管理者が Microsoft DCB サーバー機能をインストールまたはアンインストールする。
DCB サーバー機能の詳細については、「システム提供の DCB コンポーネント」を参照してください。
システム管理者が機能のインストール中に DCB サーバー機能を有効または無効にする。
システム管理者が DCB サーバー機能パラメーターのいずれかを変更する。
DCB サーバー機能のインストール中にオペレーティング システムが起動または再起動する。
ミニポート ドライバーは、OID_QOS_PARAMETERS の OID メソッド要求を処理する場合、次のガイドラインに従う必要があります。
ミニポート ドライバーは、NDIS_QOS_PARAMETERS 構造体内のデータをローカル NDIS QoS パラメーターのキャッシュにコピーします。 その後、ドライバーは、ローカル NDIS QoS パラメーターのキャッシュと、リモート ピアから受信した NDIS QoS パラメーターのキャッシュに基づいて、その操作 NDIS QoS パラメーターを解決します。
ミニポート ドライバーが操作パラメーターを解決する方法の詳細については、「操作 NDIS QoS パラメーターの解決」を参照してください。
ミニポート ドライバーは、NDIS_QOS_PARAMETERS 構造体内に含まれているデータを変更することはできません。 ドライバーは、OID メソッドの要求を完了し、NDIS_QOS_PARAMETERS 構造体内の元のデータを返す必要があります。
NDIS_QOS_PARAMETERS_WILLING フラグは、ミニポート ドライバーがローカル Data Center Bridging Exchange (DCBX) Willing 状態を有効または無効にするかどうかを指定します。 ドライバーは、次の方法でこのフラグを処理します。
このフラグが設定されている場合、ミニポート ドライバーは、ローカル DCBX Willing 状態を有効にする必要があります。 これにより、ドライバーを QoS 設定を使用してリモートで構成できます。 この場合、ドライバーは、リモート QoS パラメーターに基づいて操作 QoS パラメーターを解決します。 ミニポート ドライバーは、独立ハードウェア ベンダー (IHV) が定義する独自の QoS 設定に基づいて動作 QoS パラメーターを解決することもできます。
このフラグが設定されていない場合、ミニポート ドライバーは、ローカル DCBX Willing 状態を無効にする必要があります。 これにより、ドライバーは、リモート QoS パラメーターではなく、ローカル QoS パラメーターから操作 QoS パラメーターを解決できます。 ミニポート ドライバーでも、関連する NDIS_QOS_PARAMETERS_Xxx_CONFIGURED フラグが設定されていないローカル QoS パラメーターを無効にするか、オーバーライドする必要があります。
たとえば、ミニポート ドライバーは、IHV によって定義されている QoS パラメーターの独自の設定で、未構成のローカル QoS パラメーターをオーバーライドできます。 NDIS_QOS_PARAMETERS_Xxx_CONFIGURED フラグで指定されていないローカル QoS パラメーターの独自の設定がない場合、ドライバーはネットワーク アダプターでこれらの QoS パラメーターの使用を無効にする必要があります。
注 ドライバーは、ネットワーク アダプターで有効になっているプロトコルまたはテクノロジで使用される QoS パラメーターを侵害する場合、構成されたローカル QoS パラメーターをオーバーライドすることもできます。 たとえば、ネットワーク アダプターにおいて Fibre Channel over Ethernet (FCoE) プロトコル経由でのリモート ブートが有効になっている場合、ドライバーはローカル QoS パラメーターをオーバーライドできます。
ローカル DCBX の Willing 状態の詳細については、「ローカル DCBX Willing State の管理」を参照してください。
ミニポート ドライバーがローカル QoS パラメーターをオーバーライドする方法の詳細については、「NDIS QoS パラメーターの管理」を参照してください。
注 ローカル QoS パラメーターをオーバーライドしても、ミニポート ドライバーで OID_QOS_PARAMETERS の OID メソッド要求が失敗することはありません。
ミニポート ドライバーがローカル QoS パラメーターを管理する方法の詳細については、「ローカル NDIS QoS パラメーターの設定」を参照してください。
状態コードを返す
ミニポート ドライバーは、次のいずれかの状態コードを返します。
状態コード | 説明 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求は正常に完了しました。 |
NDIS_STATUS_PENDING |
OID 要求の完了が保留中です。 ミニポート ドライバーが NdisMOidRequestComplete を呼び出すと、NDIS は、要求が完了した後、呼び出し元の OID 要求完了ハンドラーに最終的な状態コードと結果を渡します。 |
NDIS_STATUS_NOT_SUPPORTED |
ミニポート ドライバーは、NDIS QoS インターフェイスをサポートしていません。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_QOS_PARAMETERS 構造体の 1 つ以上のメンバーに正しくない値が含まれています。 |
NDIS_STATUS_INVALID_LENGTH |
情報バッファーの長さが sizeof(NDIS_QOS_PARAMETERS) 未満です。 NDIS sets the NDIS_OID_REQUEST 構造体の DATA.QUERY_INFORMATION.BytesNeeded メンバーに必要最小限のバッファー サイズを設定します。 |
NDIS_STATUS_FAILURE |
その他の理由で要求に失敗しました。 |
要件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダー |
Ntddndis.h (Ndis.h を含む) |