共用方式為


IVMHardDisk::Convert 方法

[Windows 虛擬電腦已不再可供Windows 8使用。 請改用 Hyper-V WMI 提供者 (V2) 。]

將固定大小的虛擬硬碟轉換為動態擴充的虛擬硬碟,或將動態擴充虛擬硬碟轉換成固定大小的虛擬硬碟。

語法

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

參數

convertedDiskImagePath [in]

目標磁片映射檔的路徑。

convertedDiskImageType [in]

目標磁片映射的類型。 如需值清單,請參閱 VMHardDiskType

convertTask [out, retval]

用來追蹤轉換程式完成的 IVMTask 物件。

傳回值

這個方法可以傳回其中一個值。

傳回碼/值 描述
S_OK
0
作業成功。
E_INVALIDARG
0x80000003
convertedDiskImagePath參數是空的,或缺少檔案名上的 .vhd 副檔名。
E_POINTER
0x80004003
參數為 Null
HRESULT_FROM_WIN32 (ERROR_PATH_NOT_FOUND)
0x80070003
系統找不到 convertedDiskImagePath 參數所指定的路徑。
HRESULT_FROM_WIN32 (ERROR_INVALID_NAME)
0x8007007b
convertedDiskImagePath參數包含無效字元 (「*? <>/|「:」) 。
HRESULT_FROM_WIN32 (ERROR_BAD_PATHNAME)
0x800700a1
convertedDiskImagePath參數會指定空路徑或相對路徑。 絕對路徑是必要的。
HRESULT_FROM_WIN32 (ERROR_BUFFER_OVERFLOW)
0x8007006f
convertedDiskImagePath參數所指定的路徑太長。 路徑必須小於 MAX_PATH ( 260) 個字元。
HRESULT_FROM_WIN32 (ERROR_SHARING_VIOLATION)
0x80070020
此物件所參考的虛擬硬碟正在使用中,或正在使用此虛擬硬碟的父代。
HRESULT_FROM_WIN32 (ERROR_DISK_FULL)
0x80070070
主機磁片區沒有足夠的空間可轉換此虛擬硬碟。
HRESULT_FROM_WIN32 (ERROR_ALREADY_EXISTS)
0x800700b7
convertedDiskImagePath參數所參考的檔案已經存在。
VM_E_WRONG_HD_IMAGE_TYPE
0xA004067B
convertedDiskImagePath參數必須是vmDiskType_DynamicvmDiskType_FixedSize
VM_E_INVALID_HD_FILE
0xA0040682
這個 IVMHardDisk 物件所參考的虛擬硬碟映射似乎不是有效的映射。
VM_E_PARENT_PATH_NOT_FOUND
0xA0040677
這個物件所參考之虛擬硬碟的父代不存在。
VM_E_APP_SHUTTING_DOWN
0xA0040209
因為應用程式正在關閉,所以無法轉換虛擬硬碟映射。
DISP_E_EXCEPTION
0x80020009
已發生未預期的錯誤。

備註

轉換程式之後,原始程式檔會保持不變。

規格需求

需求
最低支援的用戶端
Windows 7 [僅限傳統型應用程式]
最低支援的伺服器
都不支援
用戶端支援結束
Windows 7
產品
Windows Virtual PC
標頭
HTTPCOMInterfaces.h
IID
IID_IVMHardDisk定義為 ffa14ae6-48f5-42a4-8a22-186f2e5c7db0

另請參閱

IVMHardDisk