次の方法で共有


Msvm_VirtualSystemManagementService クラスの RealizePlannedSystem メソッド

計画された仮想マシンの構成を検証し、それを実現された仮想マシンに変換します。 仮想マシンに関連付けられているランタイムまたは保存された状態ファイルは、インポート ディレクトリから仮想マシンのデータ ルート (該当する場合) にコピーされます。

構文

uint32 RealizePlannedSystem(
  [in]  Msvm_PlannedComputerSystem REF PlannedSystem,
  [out] CIM_ComputerSystem         REF ResultingSystem,
  [out] CIM_ConcreteJob            REF Job
);

パラメーター

PlannedSystem [in]

実現された仮想マシンに変換される Msvm_PlannedComputerSystem インスタンスへの参照。

ResultingSystem [out]

操作が同期的に完了した場合、結果として実現される仮想マシンを表す CIM_ComputerSystem オブジェクトへの参照。

Windows 10 バージョン 1703 のMsvm_ComputerSystemから更新されたデータ型。

ジョブ [out]

操作が非同期に実行された場合、このメソッドは 4096 を返し、このパラメーターには CIM_ConcreteJob から派生したオブジェクトへの参照が含 まれます

戻り値

このメソッドは、次のいずれかの値を返します。

エラーなしで完了 (0)

チェックされたメソッド パラメーター - ジョブの開始 (4096)

失敗 ( 32768)

アクセスが拒否されました (32769)

サポートされていません (32770)

状態が不明 (32771)

タイムアウト (32772)

パラメーターが無効です (32773)

システムが使用中 (32774)

この操作の無効な状態 (32775)

正しくないデータ型 (32776)

システムは使用できません (32777)

メモリ不足 (32778)

次の C# サンプルでは 、RealizePlannedSystem メソッドを使用して、計画された仮想マシンを実現します。 このコードは、 Hyper-V 計画仮想マシンのサンプルから取得します。 参照されるユーティリティについては、「 仮想化サンプルの一般的なユーティリティ (V2)」を参照してください

重要

正しく機能するには、次のコードを仮想マシン ホスト サーバーで実行し、管理者特権で実行する必要があります。

/// <summary>
/// Finds the first Planned VM matching pvmName and realizes it.
/// </summary>
/// <param name="pvmName">The name of the PVM to be realized.</param>
/// <returns>The Realized Virtual Machine.</returns>
internal static ManagementObject
RealizePvm(
    string pvmName
    )
{
    ManagementObject vm = null;
    ManagementScope scope = new ManagementScope(@"root\virtualization\v2");

    using (ManagementObject pvm = WmiUtilities.GetPlannedVirtualMachine(pvmName, scope))
    using (ManagementObject managementService = WmiUtilities.GetVirtualMachineManagementService(scope))
    using (ManagementBaseObject inParams =
        managementService.GetMethodParameters("RealizePlannedSystem"))
    {
        inParams["PlannedSystem"] = pvm.Path;

        Console.WriteLine("Realizing Planned Virtual Machine \"{0}\" ({1})...",
                pvm["ElementName"], pvm["Name"]);

        using (ManagementBaseObject outParams =
            managementService.InvokeMethod("RealizePlannedSystem", inParams, null))
        {
            if (WmiUtilities.ValidateOutput(outParams, scope, true, true))
            {
                using (ManagementObject job =
                    new ManagementObject((string)outParams["Job"]))
                using (ManagementObjectCollection pvmCollection =
                    job.GetRelated("Msvm_ComputerSystem",
                        "Msvm_AffectedJobElement", null, null, null, null, false, null))
                {
                    vm = WmiUtilities.GetFirstObjectFromCollection(pvmCollection);
                }
            }
        }
    }

    return vm;
}

要件

要件
サポートされている最小のクライアント
Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2012 [デスクトップ アプリのみ]
名前空間
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
[DLL]
Vmms.exe

こちらもご覧ください

Msvm_VirtualSystemManagementService