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_CREATE_VPORT の以前の OID メソッド要求から。
OID_NIC_SWITCH_ENUM_VPORTS の以前の OID メソッド要求から。
解説
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_VPORT と OID_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 構造体の次のメンバーを設定することによって、変更するパラメーターを指定します。
VPortId メンバーは、パラメーターが変更される VPort の識別子に設定されます。
Flags メンバーには、適切な NDIS_NIC_SWITCH_VPORT_PARAMETERS_Xxx_CHANGED フラグが設定されます。 NDIS_NIC_SWITCH_VPORT_PARAMETERS 構造体のメンバーは、対応する NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED フラグが Ntddndis.h で定義されている場合にのみ変更できます。
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 |
要求は正常に完了しました。 InformationBuffer は NDIS_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 を含む) |