次の方法で共有


OID_NIC_SWITCH_VPORT_PARAMETERS

上部のドライバーは、シングル ルート I/O 仮想化 (SR-IOV) をサポートするネットワーク アダプターで作成された NIC スイッチの仮想ポート (VPort) のパラメーターを取得できます。 ドライバーは、OID_NIC_SWITCH_VPORT_PARAMETERS のオブジェクト識別子 (OID) メソッド要求を発行して、これらのパラメーターを取得します。

上部のドライバーは、OID_NIC_SWITCH_VPORT_PARAMETERS の OID セット要求を発行して、ネットワーク アダプターの NIC スイッチにアタッチされている指定の VPort の構成パラメーターを設定します。 これらの OID セット要求は、ネットワーク アダプターの PCI Express (PCIe) 物理機能 (PF) のミニポート ドライバーに発行されます。 これらの OID セット要求は、シングルルート I/O 仮想化 (SR-IOV) インターフェイスをサポートする PF ミニポートドライバーに必要なものです。

NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体を指すポインターが含まれています。

上部のドライバーは、NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体の VPortId メンバーを VPort に関連付けられている識別子に設定することによって、OID メソッドまたはセット要求を設定に対して VPport を指定します。 上部のドライバーは、次のいずれかの方法で VPort 識別子を取得します。

解説

OID_NIC_SWITCH_VPORT_PARAMETERS は、OID メソッド要求または OID セット要求 で使用できます。

OID_NIC_SWITCH_VPORT_PARAMETERS の OID メソッド要求の処理

上部のドライバーは、OID_NIC_SWITCH_VPORT_PARAMETERS の OID メソッド要求を発行して、ネットワーク アダプターの NIC スイッチにアタッチされている現在の VPort の構成パラメーターに対するクエリを実行します。 上部のドライバーは、NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体の VPortId メンバーを VPort 識別子に設定して、クエリを実行する VPort を指定します。

NDIS は、ミニポート ドライバーに対する OID_NIC_SWITCH_VPORT_PARAMETERS の OID メソッド要求を処理します。 NDIS は、OID_NIC_SWITCH_CREATE_VPORTOID_NIC_SWITCH_ENUM_VPORTS の以前の OID 要求から取得した情報を返します。

OID クエリ要求から正常に返されると、NDIS_OID_REQUEST 構造体の InformationBuffer メンバー には、NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造へのポインターが含まれています。 この構造体には、指定されたスイッチの構成パラメーターが含まれています。

詳細については、「仮想ポートのパラメーターに対するクエリの実行」を参照してください。

OID_NIC_SWITCH_VPORT_PARAMETERS の OID セット要求の処理

上部のドライバーは、OID_NIC_SWITCH_VPORT_PARAMETERS の OID セット要求を発行して、ネットワーク アダプターの NIC スイッチにアタッチされている現在の VPort の構成パラメーターを変更します。 この OID 要求を使用するとて、既定以外の VPort のパラメーターを更新できます。

変更できるのは、VPort の構成パラメーターの限られたサブセットのみです。 上部のドライバーは、NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体の次のメンバーを設定することによって、変更するパラメーターを指定します。

  1. VPortId メンバーは、パラメーターが変更される VPort の識別子に設定されます。

  2. Flags メンバーには、適切な NDIS_NIC_SWITCH_VPORT_PARAMETERS_Xxx_CHANGED フラグが設定されます。 NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体のメンバーは、対応する NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED フラグが Ntddndis.h で定義されている場合にのみ変更できます。

  3. NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体の対応するメンバーは、変更される VPort 構成パラメーターを使用して設定されます。

PF ミニポート ドライバーは、OID_NIC_SWITCH_VPORT_PARAMETERS の OID セット要求を受信した後、ドライバーは、構成パラメーターを使用してハードウェアを構成します。 ドライバーは、NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体の Flags メンバーの NDIS_NIC_SWITCH_VPORT_PARAMETERS_Xxx_CHANGED フラグによって識別される構成パラメーターのみを変更できます。

詳細については、「仮想ポートのパラメーターの設定」を参照してください。

状態コードを返す

NDIS または PF ミニポート ドライバーは、OID_NIC_SWITCH_VPORT_PARAMETERS のセットまたはメソッド OID 要求に対して次の状態コードを返します。

状態コード 説明

NDIS_STATUS_SUCCESS

要求は正常に完了しました。 InformationBufferNDIS_NIC_SWITCH_CAPABILITIES 構造体を指します。

NDIS_STATUS_NOT_SUPPORTED

PF ミニポート ドライバーは、シングル ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートしていないか、インターフェイスを使用できません。

NDIS_STATUS_INVALID_PARAMETER

NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体の 1 つ以上のメンバーに無効な値が含まれています。

NDIS_STATUS_INVALID_LENGTH

情報バッファーが短すぎました。 NDIS または PF ミニポート ドライバーは、NDIS_OID_REQUEST 構造体の DATA.METHOD_INFORMATION.BytesNeeded メンバー (OID メソッド要求に対して) または DATA.SET_INFORMATION.BytesNeeded メンバー (OID セット要求に対して) を要求された最小バッファー サイズに設定します。

NDIS_STATUS_FAILURE

その他の理由で要求に失敗しました。

要件

バージョン

NDIS 6.30 以降でサポートされています。

ヘッダー

Ntddndis.h (Ndis.h を含む)

関連項目


NDIS_NIC_SWITCH_VPORT_PARAMETERS

NDIS_OID_REQUEST

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_ENUM_VPORTS