Share via


IVdsService::QueryUnallocatedDisks 方法 (vds.h)

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

傳回列舉物件,其中包含 VDS 所管理的未配置磁碟清單。

語法

HRESULT QueryUnallocatedDisks(
  [out] IEnumVdsObject **ppEnum
);

參數

[out] ppEnum

IEnumVdsObject 介面指標的位址,可用來列舉磁碟做為磁碟物件。 如需詳細資訊,請參閱 使用列舉物件。 呼叫端必須在呼叫 IUnknown::Release 方法不再需要介面和每個磁碟物件時釋放它們。

傳回值

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

傳回碼/值 描述
S_OK
成功傳回列舉。
VDS_E_INITIALIZED_FAILED
0x80042401L
VDS 無法初始化。 如果應用程式在服務完成初始化之前呼叫此方法,則會封鎖 方法,直到初始化完成為止。 如果初始化失敗,則會傳回此錯誤。

備註

任何提供者都不會宣告未配置磁碟。 它可能包含 MBR 或 GPT 資料分割格式資訊。 通常是未初始化的磁碟。 如果磁碟狀態 VDS_DS_ONLINEVDS_DS_OFFLINE,則磁碟未配置且未初始化。 如果VDS_DS_UNKNOWN、VDS_DS_NOT_READYVDS_DS_FAILEDVDS_DS_MISSING,則未配置,但 VDS 服務無法判斷它是否初始化,可能是因為磁碟發生問題。

若要判斷磁碟狀態,請參閱磁碟VDS_DISK_PROP或磁碟VDS_DISK_PROP2結構的狀態成員。

如果磁碟狀態 為VDS_DS_ONLINE,則可以將磁碟新增至套件。

如果磁碟狀態 VDS_DS_OFFLINE,請嘗試呼叫 IVdsDiskOnline::Online 讓磁碟上線。 如果對 Online 方法的呼叫成功,可以將磁碟新增至套件。 如果對 Online 的呼叫失敗,則無法使用磁碟。

規格需求

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

另請參閱

IEnumVdsObject

IVdsService