次の方法で共有


Msvm_VirtualSystemManagementService クラスの ValidatePlannedSystem メソッド

指定した計画システムを検証します。 これには、仮想マシンの構成、デバイス、スナップショット構成、スナップショット デバイス、保存された状態ファイル、ストレージ ファイルのチェックが含まれます。

構文

uint32 ValidatePlannedSystem(
  [in]  Msvm_PlannedComputerSystem REF PlannedSystem,
  [out] CIM_ConcreteJob            REF Job
);

パラメーター

PlannedSystem [in]

検証する計画済みシステムを表す Msvm_PlannedComputerSystem オブジェクトへの参照。

ジョブ [out]

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

戻り値

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

エラーなしで完了しました (0)

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

失敗 ( 32768)

アクセス拒否 (32769)

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

状態が不明 ( 32771)

タイムアウト (32772)

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

システムが使用中 (32774)

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

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

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

メモリ不足 (32778)

使用中のファイル (32779)

次の C# サンプルでは 、ValidatePlannedSystem メソッドを使用して、計画された仮想マシンを検証します。 このコードは、 Hyper-V 計画仮想マシンのサンプルから取得します。 参照されるユーティリティは、 仮想化サンプルの一般的なユーティリティ (V2) で確認できます。

重要

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

/// <summary>
/// Finds the first Planned VM matching pvmName and validates it, displaying
/// any warnings produced.
/// </summary>
/// <param name="pvmName">The name of the PVM to be validated.</param>
internal static void
ValidatePvm(
    string pvmName
    )
{
    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("ValidatePlannedSystem"))
    {
        inParams["PlannedSystem"] = pvm.Path;

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

        using (ManagementBaseObject outParams = 
            managementService.InvokeMethod("ValidatePlannedSystem", inParams, null))
        {
            if (WmiUtilities.ValidateOutput(outParams, scope))
            {
                using (ManagementObject job = 
                    new ManagementObject((string)outParams["Job"]))
                {
                    WmiUtilities.PrintMsvmErrors(job);
                }
            }
        }
    }
}

要件

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

関連項目

Msvm_VirtualSystemManagementService