次の方法で共有


OID_NIC_SWITCH_ENUM_VPORTS

基になるドライバーまたはユーザー モード アプリケーションは、配列を取得するOID_NIC_SWITCH_ENUM_VPORTSのオブジェクト識別子 (OID) メソッド要求を発行します。 配列内の各要素は、ネットワーク アダプターの NIC スイッチに作成された仮想ポート (VPort) の属性を指定します。

この OID クエリ要求から正常に戻った後、NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、次を含むバッファーへのポインターが含まれます。

備考

上にあるドライバーとユーザー モード アプリケーションは、ネットワーク アダプターの NIC スイッチに割り当てられている VPort を列挙するために、OID_NIC_SWITCH_ENUM_VPORTSの OID クエリ要求を発行します。

ドライバーまたはアプリケーションが OID 要求を発行する前に、要求と共に渡される NDIS_NIC_SWITCH_VPORT_INFO_ARRAY 構造体を初期化する必要があります。 ドライバーまたはアプリケーションは、NDIS_NIC_SWITCH_VPORT_INFO_ARRAY 構造体を初期化するときに、次のガイドラインに従う必要があります。

  • NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH フラグが Flags メンバーに設定されている場合は、指定した NIC スイッチで作成されたすべての VPort に関する情報が返されます。 NIC スイッチは、その構造体の SwitchId メンバーによって指定されます。

    Windows Server 2012 以降では、SR-IOV インターフェイスでは、ネットワーク アダプターの既定の NIC スイッチのみがサポートされます。 Flags メンバーに設定されているフラグに関係なく、SwitchId メンバーをNDIS_DEFAULT_SWITCH_IDに設定する必要があります。

  • NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION フラグが Flags メンバーに設定されている場合は、ネットワーク アダプター上の指定された PCI Express (PCIe) 物理関数 (PF) または仮想関数 (VF) に接続されているすべての VPort に関する情報が返されます。 PF または VF は、その構造体の AttachedFunctionId メンバーによって指定されます。

    AttachedFunctionId メンバーが NDIS_PF_FUNCTION_ID に設定されている場合、ネットワーク アダプターの PF に接続されているすべての VPort (既定の VPort を含む) に関する情報が返されます。 AttachedFunctionId メンバーが有効な VF 識別子に設定されている場合、指定した VF に対するすべての VPort の情報が返されます。

    Windows Server 2012 以降では、VF に接続できる既定以外の VPort は 1 つだけです。 ただし、複数の VPort (既定の VPort を含む) を PF にアタッチできます。

  • Flags メンバーが 0 に設定されている場合は、ネットワーク アダプター上の PF または VF に接続されているすべての VPort に関する情報が返されます。 この場合、SwitchId と AttachedFunctionId の値は無視されます。

詳細については、「ネットワーク アダプターでの仮想ポートの列挙」を参照してください。

戻り値の状態コード

NDIS は、ミニポート ドライバーのOID_NIC_SWITCH_ENUM_VPORTS要求の OID メソッド要求を処理します。 ドライバーは、この OID 要求を発行されません。

NDIS は、OID_NIC_SWITCH_ENUM_VPORTS要求を処理すると、次のいずれかの状態コードを返します。

状態コード 形容

NDIS_STATUS_SUCCESS

OID 要求が正常に完了しました。

NDIS_STATUS_NOT_SUPPORTED

ミニポート ドライバーは、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートしていないか、インターフェイスの使用が有効になっていません。

NDIS_STATUS_INVALID_PARAMETER

NDIS_NIC_SWITCH_VF_INFO_ARRAY 構造体の 1 つ以上のメンバーに無効な値があります。

NDIS_STATUS_INVALID_LENGTH

情報バッファーが短すぎます。 NDIS は、データを設定します。METHOD_INFORMATION。BytesNeededNDIS_OID_REQUEST 構造体のメンバーを、必要な最小バッファー サイズに設定します。

NDIS_STATUS_FAILURE

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

必要条件

バージョン

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

ヘッダ

Ntddndis.h (Ndis.h を含む)

関連項目


NDIS_NIC_SWITCH_VPORT_INFO

NDIS_NIC_SWITCH_VPORT_INFO_ARRAY

NDIS_OID_REQUEST

OID_NIC_SWITCH_CREATE_SWITCH

OID_NIC_SWITCH_PARAMETERS