IVdsLun::AddPlex 方法 (vdshwprv.h)

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

將 LUN 新增至目標 LUN 作為新的 plex。

語法

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

參數

[in] lunId

要新增為 plex 之 LUN 的 GUID。

[out] ppAsync

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

傳回值

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

傳回碼/值 Description
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
這個傳回值會向提供者內快取數位相關信息的軟體或通訊問題發出訊號。 使用 IVdsHwProvider::Reenumerate 方法,後面接著 IVdsHwProvider::Refresh 方法來還原快取。
VDS_E_OBJECT_DELETED
0x8004240BL
LUN 物件已不存在。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN 處於失敗狀態,無法執行要求的作業。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
另一項作業正在進行中。 此作業無法繼續,直到先前的作業或作業完成為止。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
這可以從接受 VDS_OBJECT_ID 常數的任何方法傳回。 它表示標識碼未參考現有的物件。
VDS_E_INVALID_OPERATION
0x80042415L
作業無效。 或者,來源 LUN 小於目標 LUN。 如果來源 LUN 大於目標 LUN,則目標 LUN 會維持相同的大小,且作業成功。

備註

在呼叫端將新的 LUN 新增為 plex 之後,它就不會再顯示為 LUN。 如果呼叫端
會新增鏡像 LUN,VDS 會將每個 plex 納入為離散 plex。 新增 LUN 上的所有數據都會遺失。

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

規格需求

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

另請參閱

IVdsAsync

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun