Share via


IVdsController::SetStatus 方法 (vds.h)

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

將控制器的狀態設定為指定的值。

語法

HRESULT SetStatus(
  [in] VDS_CONTROLLER_STATUS status
);

參數

[in] status

由 VDS_CONTROLLER_STATUS列舉的值。 呼叫端可以傳入可能列舉值的子集。 傳入 VDS_CS_UNKNOWN 會傳回 E_INVALIDARG

傳回值

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

傳回碼/值 描述
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
這個傳回值會向提供者內快取陣列相關資訊的軟體或通訊問題發出訊號。 使用 IVdsHwProvider::Reenumerate 方法,後面接著 IVdsHwProvider::Refresh 方法來還原快取。
VDS_E_OBJECT_DELETED
0x8004240BL
控制器物件已不存在。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
控制器處於失敗狀態,無法執行要求的作業。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
另一項作業正在進行中;此作業無法繼續,直到先前的作業或作業完成為止。
VDS_E_NOT_SUPPORTED
0x80042400L
此提供者不支援此作業或參數組合。

備註

這個方法可讓您設定單一控制器的狀態。 您可以呼叫 IVdsSubSystem::SetControllerStatus 方法,一次設定子系統中所有控制器的狀態。 使用 IVdsController::GetProperties 方法來取得控制器的目前狀態。

實作者負責執行任何必要的作業,以將狀態設為指定的狀態。 例如,如果呼叫端傳入 VDS_CS_OFFLINE 作為控制器狀態,您可能需要先清除控制器的快取。

規格需求

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

另請參閱

IVdsController

IVdsController::GetProperties

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem::SetControllerStatus

VDS_CONTROLLER_STATUS