IVdsVolume::AddPlex 方法 (vds.h)

[從 Windows 8 和 Windows Server 2012 開始,虛擬磁碟服務 COM 介面會由 Windows 記憶體管理 API 取代。

將磁碟區當做 plex 新增至目前的磁碟區。

語法

HRESULT AddPlex(
  [in]  VDS_OBJECT_ID VolumeId,
  [out] IVdsAsync     **ppAsync
);

參數

[in] VolumeId

要新增為 plex 之磁碟區的 GUID。

[out] ppAsync

IVdsAsync 介面指標的位址,VDS 會在傳回時初始化。 呼叫端必須釋放 介面。 使用此指標來取消、等候或查詢作業的狀態。

傳回值

這個方法可以傳回標準 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 VDS 特定的傳回值。 它也可以使用 HRESULT_FROM_WIN32 宏傳回已轉換的系統錯誤碼。 錯誤可能源自 VDS 本身,或來自正在使用的基礎 VDS 提供者 。 可能的傳回值包括下列專案。

傳回碼/值 描述
S_OK
已成功新增 plex。
VDS_S_GPT_BOOT_MIRRORED_TO_MBR
0x80042469L
GPT 磁碟上的開機磁碟區已鏡像到 MBR 磁碟。 新的 plex 無法用來開機電腦。
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
無法存取磁碟區。
VDS_E_VOLUME_NOT_HEALTHY
0x8004243EL
磁碟區失敗或失敗。
VDS_E_VOLUME_SPANS_DISKS
0x8004243FL
磁碟區跨越多個磁碟。
VDS_E_REQUIRES_CONTIGUOUS_DISK_SPACE
0x80042440L
磁碟區是由多個範圍所組成。
VDS_E_INVALID_OPERATION
0x80042415L
來源磁碟區小於目標磁碟區。 如果來源磁碟區大於目標磁碟區,則目標磁碟區會維持相同的大小,且作業會成功。

備註

此作業對只有一個 plex 的基本磁碟區無效。

使用這個方法可將磁碟區新增為另一個磁碟區的 plex。 例如,呼叫端可以建立磁碟區 (磁碟區 B) 、將磁碟區 B 指定為現有磁碟區的新 plex, (磁碟區 A) ,然後移除磁碟區 B。磁碟區 A 的新 plex 佔用與磁碟區 B 相同的磁碟範圍。

注意 VDS 會嘗試使用相同的範圍,但無法保證此行為。
 
呼叫端可以將鏡像磁碟區新增為另一個磁碟區的新 plex。 產生的磁碟區包含與原始磁碟區總和相等的 plexes。

不論呼叫是否起始異步操作,實作器都必須傳回這個方法 IVdsAsync 介面的指標。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 vds.h
程式庫 Uuid.lib

另請參閱

IVdsAsync

IVdsVolume

Volume Plex 物件