次の方法で共有


Msvm_MountedStorageImage クラスの DetachVirtualHardDisk メソッド

このクラスに関連付けられているマウントされたストレージ イメージをデタッチします。

構文

uint32 DetachVirtualHardDisk();

パラメーター

このメソッドにはパラメーターはありません。

戻り値

型: uint32

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

成功 (0)

失敗 ( 1)

注釈

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

次の C# の例は、仮想ハード ディスク ファイルをデタッチする方法を示しています。 参照されるユーティリティについては、「 仮想化サンプルの一般的なユーティリティ (V2)」を参照してください。

public static void DetachVirtualHardDisk(string path)
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\V2", null);

    ManagementClass mountedStorageImageServiceClass = new ManagementClass("Msvm_MountedStorageImage");

    mountedStorageImageServiceClass.Scope = scope;

    using (ManagementObjectCollection collection = mountedStorageImageServiceClass.GetInstances())
    {
        foreach (ManagementObject image in collection)
        {
            using (image)
            {
                string name = image.GetPropertyValue("Name").ToString();
                if (string.Equals(name, path, StringComparison.OrdinalIgnoreCase))
                {
                    ManagementBaseObject outParams = image.InvokeMethod("DetachVirtualHardDisk", null, null);

                    if ((UInt32)outParams["ReturnValue"] == 0)
                    {
                        Console.WriteLine("{0} was detached successfully.", path);
                    }
                    else
                    {
                        Console.WriteLine("Unable to dettach {0}", path);
                    }

                    outParams.Dispose();

                    break;
                }

                image.Dispose();
            }
        }
    }
}

要件

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

こちらもご覧ください

Msvm_MountedStorageImage