PCI_VIRTUALIZATION_INTERFACE 構造体 (wdm.h)

PCI_VIRTUALIZATION_INTERFACE構造により、ドライバーは仮想関数 (VF) の PCI Express (PCIe) 構成領域を管理および構成できます。 VFs は、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートするデバイスによって PCI バスで公開されます。

この構造体では、 GUID_PCI_VIRTUALIZATION_INTERFACE インターフェイスについて説明します。

構文

typedef struct _PCI_VIRTUALIZATION_INTERFACE {
  USHORT                            Size;
  USHORT                            Version;
  PVOID                             Context;
  PINTERFACE_REFERENCE              InterfaceReference;
  PINTERFACE_DEREFERENCE            InterfaceDereference;
  PSET_VIRTUAL_DEVICE_DATA          SetVirtualFunctionData;
  PGET_VIRTUAL_DEVICE_DATA          GetVirtualFunctionData;
  PGET_VIRTUAL_DEVICE_LOCATION      GetLocation;
  PGET_VIRTUAL_DEVICE_RESOURCES     GetResources;
  PENABLE_VIRTUALIZATION            EnableVirtualization;
  PGET_VIRTUAL_FUNCTION_PROBED_BARS GetVirtualFunctionProbedBars;
} PCI_VIRTUALIZATION_INTERFACE, *PPCI_VIRTUALIZATION_INTERFACE;

メンバー

Size

この構造体のサイズ (バイト単位)。

Version

ドライバー定義インターフェイスのバージョン。

Context

インターフェイス固有のコンテキスト情報へのポインター。

InterfaceReference

インターフェイスの参照カウントをインクリメントする InterfaceReference ルーチンへのポインター。

InterfaceDereference

インターフェイスの参照カウントをデクリメントする InterfaceDereference ルーチンへのポインター。

SetVirtualFunctionData

SR-IOV デバイスの VF の PCIe 構成空間にデータを書き込む SetVirtualFunctionData ルーチンへのポインター。

GetVirtualFunctionData

SR-IOV デバイスの VF の PCIe 構成空間からデータを読み取る GetVirtualFunctionData ルーチンへのポインター。

GetLocation

PCIe 階層内の VF の現在のデバイスの場所に関する情報を提供する GetLocation ルーチンへのポインター。 この情報は、I/O メモリ管理ユニット (IOMMU) を使用している仮想化システムがデバイスとの間でトラフィックをルーティングするために必要です。

GetResources

SR-IOV デバイスで仮想化に使用できるリソースに関する情報を提供する GetResources ルーチンへのポインター。

EnableVirtualization

SR-IOV デバイスで仮想化を有効または無効にする EnableVirtualization ルーチンへのポインター。

GetVirtualFunctionProbedBars

非特権 Hyper-V 仮想マシン (VM) が PCI バス ドライバーによるクエリの後に VF の PCIe ベース アドレス レジスタ (BAR) から読み取られる内容を決定できるようにする GetVirtualFunctionProbedBars ルーチンへのポインター。 PCI ドライバーは、このクエリを実行して、デバイスに必要なメモリまたは I/O アドレス空間を決定します。

注釈

SR-IOV インターフェイスをサポートするデバイスの場合、ドライバーはデバイスの VM の PCIe 構成空間にアクセスして管理する必要がある場合があります。 ドライバーは、GUID_PCI_VIRTUALIZATION_INTERFACE インターフェイスからルーチンを呼び出して、デバイス上の VFs の PCIe 構成空間にアクセスします。

デバイスの VFs は PCI バス上の完全な PCIe デバイスとして表示されないため、VF の管理に GUID_BUS_INTERFACE_STANDARD インターフェイスを使用することはできません。

PCI_VIRTUALIZATION_INTERFACE構造体は INTERFACE 構造体の拡張です。

ドライバーは、 IRP_MN_QUERY_INTERFACEI/ O 要求パケット (IRP) を GUID_PCI_VIRTUALIZATION_INTERFACE に設定された InterfaceType を使用してバス ドライバーに送信することで、PCI_VIRTUALIZATION_INTERFACE構造体へのポインターを取得します。

要件

要件
サポートされている最小のサーバー Windows Server 2012
Header wdm.h (Wdm.h を含む)

こちらもご覧ください

GUID_BUS_INTERFACE_STANDARD

InterfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE