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 を含む) |