ENABLE_VIRTUALIZATION コールバック関数 (wdm.h)

EnableVirtualization ルーチンは、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートする PCI Express (PCIe) デバイスの仮想化を有効または無効にします。

構文

ENABLE_VIRTUALIZATION EnableVirtualization;

NTSTATUS EnableVirtualization(
  [in, out] PVOID Context,
  [in]      UINT16 NumVFs,
  [in]      BOOLEAN EnableVfMigration,
  [in]      BOOLEAN EnableMigrationInterrupt,
  [in]      BOOLEAN EnableVirtualization
)
{...}

パラメーター

[in, out] Context

インターフェイス固有のコンテキスト情報へのポインター。 呼び出し元は、インターフェイスのPCI_VIRTUALIZATION_INTERFACE構造体の Context メンバーとして渡される値を渡します。

[in] NumVFs

デバイスで有効にする PCIe 仮想関数 (VF) の数。 EnableVirtualization ルーチンは、PCIe SR-IOV 拡張機能構造体の NumVFs メンバーを NumVFs パラメーターの値に設定します。

EnableVirtualization パラメーターが FALSE の場合、NumVFs パラメーターを 0 に設定する必要があります。

[in] EnableVfMigration

マルチルート I/O 仮想化 (MR-IOV) 基本関数 (BF) が、実行時にデバイスの PCIe 物理関数 (PF) を VF として動的に再プロビジョニングできるかどうかを示すブール値。

このパラメーターは、SR-IOV インターフェイスと MR-IOV インターフェイスの両方をサポートするデバイスにのみ適用されます。 デバイスが MR-IOV インターフェイスではなく SR-IOV インターフェイスのみをサポートしている場合、ドライバーはこのパラメーターを FALSE に 設定する必要があります。

[in] EnableMigrationInterrupt

VF 移行中に PF に関連付けられている割り込みをマスクするかマスク解除するかを示す BOOLEAN 値。

EnableVfMigration パラメーターが FALSE の場合、ドライバーもこのパラメーターを FALSE に設定する必要があります。

[in] EnableVirtualization

デバイスの PCIe 構成空間で仮想化が有効かどうかを示すブール値。 EnableVirtualization パラメーターが TRUE の場合、EnableVirtualization ルーチンは PCIe SR-IOV コントロール フィールドの VF Enable ビットを設定します。 EnableVirtualization パラメーターが FALSE の場合、EnableVirtualization ルーチンはこのビットをクリアします

戻り値

EnableVirtualization ルーチンは、次のいずれかの NTSTATUS 値を返します。

リターン コード 説明
STATUS_SUCCESS 操作は正常に完了しました。
STATUS_INVALID_PARAMETER NumVFs パラメーターが 0 であるか、またはデバイスの SR-IOV 拡張機能構造体の TotalVFs メンバーの値より大きい。
STATUS_INVALID_DEVICE_STATE 仮想化はデバイスで既に有効になっており、 EnableVirtualization パラメーターが TRUE であるか、デバイスで仮想化が既に無効になっており 、EnableVirtualization パラメーターが FALSE です

注釈

ドライバーは EnableVirtualization ルーチンを呼び出して、PCIe 構成空間で SR-IOV 拡張機能フィールドを構成します。 この呼び出しでは、構成空間の仮想化を有効または無効にし、デバイスによって PCIe ファブリックに公開する必要がある VM の数を指定します。

EnableVirtualization ルーチンは、GUID_PCI_VIRTUALIZATION_INTERFACE インターフェイスによって提供されます。

要件

要件
サポートされている最小のクライアント Windows Server 2012 以降のバージョンの Windows でサポートされています。
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h を含む)
IRQL IRQL <= DISPATCH_LEVEL

こちらもご覧ください

PCI_VIRTUALIZATION_INTERFACE