DetachVirtualHardDisk method of the Msvm_MountedStorageImage class

Detaches the mounted storage image that is associated with this class.

Syntax

uint32 DetachVirtualHardDisk();

Parameters

This method has no parameters.

Return value

Type: uint32

This method can return one of the following values.

Success (0)

Failed (1)

Remarks

Access to the Msvm_MountedStorageImage class might be restricted by UAC Filtering. For more information, see User Account Control and WMI.

Examples

The following C# example shows how to detach a virtual hard disk file. The referenced utilities can be found in Common utilities for the virtualization samples (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();
            }
        }
    }
}

Requirements

Requirement Value
Minimum supported client
Windows 8 [desktop apps only]
Minimum supported server
Windows Server 2012 [desktop apps only]
Namespace
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

See also

Msvm_MountedStorageImage