仮想関数の PCI ベンダーおよびデバイス ID のクエリ

このメソッドは、Hyper-V 親パーティションの管理オペレーティング システムで実行されるドライバーの上にある場合のみ使用できます。

上位のドライバーは、PCI Express (PCIe) ベンダー識別子 (VendorID) とデバイス識別子 (DeviceID) を照会する OID_SRIOV_VF_VENDOR_DEVICE_ID のオブジェクト識別子 (OID) メソッド要求を発行します。 このデータは、物理ネットワーク アダプター上の PCIe 仮想関数 (VF) の PCIe 構成領域から読み取られます。

上位ドライバーは、ネットワーク アダプターの PCI Express (PCIe) 物理関数 (PF) のミニポート ドライバーにこの OID メソッド要求を発行します。 この OID メソッド要求は、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートする PF ミニポート ドライバーに必要です。

Hyper-V 子パーティションで実行されるゲスト オペレーティング システムでは、デバイス列挙の汎用プラグ アンド プレイ (PnP) ID に VF の VendorID と DeviceID を使用します。 Windows Server 2012 以降、PF ミニポート ドライバーは、子パーティションで公開されている VF ネットワーク アダプターの識別子の次のセットを提供できます。

  • 物理ネットワーク アダプターの VendorID と DeviceID。 これにより、Hyper-V 子パーティションで実行されるゲスト オペレーティング システムと、Hyper-V 親パーティションで実行される管理オペレーティング システムに、互換性のあるドライバーを読み込むことができるようになります。

  • 物理ネットワーク アダプターの識別子とは異なる VendorID と DeviceID。 これにより、使用に適したゲスト オペレーティング システムにドライバーを読み込むことができます。 たとえば、PF ミニポート ドライバーは、電源管理やプロトコル タスク オフロードなどの特定の機能セットを無効にするドライバーが読み込まれるよう、VF ネットワーク アダプターの VendorID と DeviceID を返す場合があります。

この OID メソッド要求を発行する前に、上位のドライバーは、NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO 構造を初期化する必要があります。 ドライバーは、VFId メンバーを、情報の読み取り元の VF の識別子に設定する必要があります。

この OID 要求を処理する場合、PF ミニポート ドライバーは、指定した VF に以前に割り当てられているリソースがあることを確認する必要があります。 PF ミニポート ドライバーは、OID_NIC_SWITCH_ALLOCATE_VF メソッド要求の間に VF のリソースを割り当てます。 指定した VF のリソースが割り当てられていない場合、ドライバーは OID 要求に失敗する必要があります。