IVMHardDisk::Convert method

[Windows Virtual PC is no longer available for use as of Windows 8. Instead, use the Hyper-V WMI provider (V2).]

Converts a fixed-size virtual hard disk to a dynamically expanding virtual hard disk or converts a dynamically expanding virtual hard disk to a fixed-size virtual hard disk.

Syntax

HRESULT Convert(
  [in]          BSTR           convertedDiskImagePath,
  [in]          VMHardDiskType convertedDiskImageType,
  [out, retval] IVMTask        **convertTask
);

Parameters

convertedDiskImagePath [in]

The path to the target disk image file.

convertedDiskImageType [in]

The type of the target disk image. For a list of values, see VMHardDiskType.

convertTask [out, retval]

An IVMTask object that is used to track the completion of the conversion process.

Return value

This method can return one of these values.

Return code/value Description
S_OK
0
The operation was successful.
E_INVALIDARG
0x80000003
The convertedDiskImagePath parameter is empty or missing the .vhd extension on the file name.
E_POINTER
0x80004003
A parameter is NULL.
HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)
0x80070003
The system cannot find the path specified by the convertedDiskImagePath parameter.
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
0x8007007b
The convertedDiskImagePath parameter contains an invalid character (one of "*?<>/|":").
HRESULT_FROM_WIN32(ERROR_BAD_PATHNAME)
0x800700a1
The convertedDiskImagePath parameter specifies an empty or relative path. An absolute path is required.
HRESULT_FROM_WIN32(ERROR_BUFFER_OVERFLOW)
0x8007006f
The path specified by the convertedDiskImagePath parameter is too long. The path must be less than MAX_PATH (260) characters.
HRESULT_FROM_WIN32(ERROR_SHARING_VIOLATION)
0x80070020
Either the virtual hard disk referenced by this object is in use or the parent of this virtual hard disk is in use.
HRESULT_FROM_WIN32(ERROR_DISK_FULL)
0x80070070
The host volume does not have enough space to convert this virtual hard disk.
HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)
0x800700b7
The file referenced by the convertedDiskImagePath parameter already exists.
VM_E_WRONG_HD_IMAGE_TYPE
0xA004067B
The convertedDiskImagePath parameter must be either vmDiskType_Dynamic or vmDiskType_FixedSize.
VM_E_INVALID_HD_FILE
0xA0040682
The virtual hard disk image referenced by this IVMHardDisk object does not seem to be a valid image.
VM_E_PARENT_PATH_NOT_FOUND
0xA0040677
The parent of the virtual hard disk referenced by this object does not exist.
VM_E_APP_SHUTTING_DOWN
0xA0040209
The virtual hard disk image cannot be converted because the application is shutting down.
DISP_E_EXCEPTION
0x80020009
An unexpected error has occurred.

Remarks

The source file is left intact after the conversion process.

Requirements

Requirement Value
Minimum supported client
Windows 7 [desktop apps only]
Minimum supported server
None supported
End of client support
Windows 7
Product
Windows Virtual PC
Header
VPCCOMInterfaces.h
IID
IID_IVMHardDisk is defined as ffa14ae6-48f5-42a4-8a22-186f2e5c7db0

See also

IVMHardDisk