次の方法で共有


OID_NIC_SWITCH_ENUM_VFS

上部のドライバーまたはユーザー モード アプリケーションは、OID_NIC_SWITCH_ENUM_VFS のオブジェクト識別子 (OID) メソッド要求を発行して、配列を取得します。 配列内の各要素は、ネットワーク アダプターの NIC スイッチにアタッチされている NIC スイッチの PCI Express (PCIe) 仮想機能 (VF) の属性を指定します。

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

  • 配列内の要素の数を定義する NDIS_NIC_SWITCH_VF_INFO_ARRAY 構造体。

  • NDIS_NIC_SWITCH_VF_INFO 構造体の配列。 これらの構造体にはそれぞれ、ネットワーク アダプターの NIC スイッチの 1 つの VF に関する情報が含まれています。 VF は、OID_NIC_SWITCH_ALLOCATE_VF の OID メソッド要求によって NIC スイッチにアタッチされます。

    ネットワーク アダプターの NIC スイッチにアタッチされている VF がない場合、NDIS_NIC_SWITCH_VF_INFO_ARRAY 構造体の NumElements メンバーは 0 に設定され、NDIS_NIC_SWITCH_VF_INFO 構造体は返されません。

解説

上部のドライバーとユーザー モード アプリケーションは、OID_NIC_SWITCH_ENUM_VFS の OID メソッド要求を発行して、ネットワーク アダプターの NIC スイッチにアタッチされている VF を列挙します。

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

  • NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH フラグが Flags メンバーで設定されている場合、ドライバーまたはアプリケーションは、SR-IOV ネットワーク アダプターの NIC スイッチ識別子に SwitchId メンバーを設定する必要があります。 この方法でこれらのメンバーを設定すると、SR-IOV ネットワーク アダプター上の指定された NIC スイッチのみに関する VF 情報が返されます。

    上部のドライバーとユーザー モード アプリケーションは、OID_NIC_SWITCH_ENUM_SWITCHES の OID クエリ要求を発行することによって、NIC スイッチ識別子を取得できます。

  • Flags メンバーが 0 に設定されている場合、ドライバーまたはアプリケーションは SwitchId メンバーを 0 に設定する必要があります。 この方法でこれらのメンバーを設定すると、SR-IOV ネットワーク アダプター上のすべての NIC スイッチに関する VF 情報が返されます。

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

NIC スイッチの詳細については、「NIC スイッチ」を参照してください。

状態コードを返す

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

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

状態コード 説明

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 は、NDIS_OID_REQUEST 構造体の DATA.METHOD_INFORMATION.BytesNeeded メンバー を 必要な最小バッファー サイズに設定します。

NDIS_STATUS_FAILURE

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

要件

バージョン

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

ヘッダー

Ntddndis.h (Ndis.h を含む)

関連項目


NDIS_NIC_SWITCH_VF_INFO

NDIS_NIC_SWITCH_VF_INFO_ARRAY

NDIS_OID_REQUEST

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_CREATE_SWITCH

OID_NIC_SWITCH_VF_PARAMETERS