次の方法で共有


Msvm_ImageManagementService クラスの ValidateVirtualHardDisk メソッド

仮想ハード ディスク ファイルが有効かどうかを判断します。

構文

uint32 ValidateVirtualHardDisk(
  [in]  string              Path,
  [out] CIM_ConcreteJob REF Job
);

パラメーター

Path [in]

型: string

仮想ハード ディスク ファイルの場所を指定する完全修飾パス。

ジョブ [out]

種類: CIM_ConcreteJob

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

戻り値

型: uint32

このメソッドは、次のいずれかの値を返すことができます。

エラーなしで完了 (0)

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

失敗 ( 32768)

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

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

状態が不明 (32771)

タイムアウト (32772)

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

システムが使用中 (32774)

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

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

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

メモリ不足 (32778)

ファイルが見つかりません (32779)

Vhd 差分チェーン サイクルが検出されました (32787)

注釈

仮想ハード ディスクが差分ディスクの場合は、仮想ディスク チェーン全体が開きます。 ディスク チェーンでリンクが壊れている場合は、適切なエラーが初期化された状態でジョブ オブジェクトが返され、リンクが壊れている場所に子プロパティと親プロパティが初期化されます。

MSVM_IMAGEMANAGEMENTSERVICE クラスへのアクセスは、UAC フィルター処理によって制限される場合があります。 詳細については、「 ユーザー アカウント制御と WMI」を参照してください。

次の C# の例では、仮想ハード ディスク イメージを検証します。 参照されるユーティリティについては、「 仮想化サンプルの一般的なユーティリティ (V2)」を参照してください

public static void ValidateVirtualHardDisk(string vhdPath)
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\v2", null);
    ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");

    ManagementBaseObject inParams = imageService.GetMethodParameters("ValidateVirtualHardDisk");
    inParams["Path"] = vhdPath;
    ManagementBaseObject outParams = imageService.InvokeMethod("ValidateVirtualHardDisk", inParams, null);
    if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
    {
        if (Utility.JobCompleted(outParams, scope))
        {
            Console.WriteLine("{0} is a valid virtual hard disk.", inParams["Path"]);
        }
        else
        {
            Console.WriteLine("Unable to validate {0}", inParams["Path"]);
        }
    }

    outParams.Dispose();
    inParams.Dispose();
    imageService.Dispose();
}

要件

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

こちらもご覧ください

ValidateVirtualHardDisk (V1)

CIM_ConcreteJob

Msvm_ImageManagementService