Share via


IVdsAdmin::RegisterProvider 方法 (vdshwprv.h)

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

向 VDS 註冊指定的硬體提供者。 硬體提供者會呼叫這個方法。

語法

HRESULT RegisterProvider(
  [in] VDS_OBJECT_ID     providerId,
  [in] CLSID             providerClsid,
  [in] LPWSTR            pwszName,
  [in] VDS_PROVIDER_TYPE type,
  [in] LPWSTR            pwszMachineName,
  [in] LPWSTR            pwszVersion,
  [in] GUID              guidVersionId
);

參數

[in] providerId

硬體提供者的 GUID。

[in] providerClsid

硬體提供者 (Clsid) COM 類別標識碼。

[in] pwszName

硬體提供者的名稱,以零終止且人類可讀取的字串。

[in] type

VDS_PROVIDER_TYPE列舉的提供者類型。 使用 VDS_PT_HARDWARE 值向 VDS 註冊硬體提供者。

[in] pwszMachineName

硬體提供者執行所在的計算機名稱;以 Null 結尾且人類可讀取的字串。 使用 NULL 來參考目前的電腦。

[in] pwszVersion

以零終止且人類可讀取字串的提供者版本。

[in] guidVersionId

這個提供者版本的 GUID。

傳回值

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

傳回碼/值 Description
VDS_E_ALREADY_REGISTERED
0x80042403L
providerId 已註冊。 在任何指定時間只能註冊一個版本的提供者。

備註

如有必要,請先呼叫 UnregisterProvider 以移除提供者,再註冊新版本。

同進程提供者會從 DllRegisterServer 呼叫這個方法;而,來自 WinMain 函式的跨進程提供者呼叫。

執行 VDS 時,硬體提供者不得停止執行。

規格需求

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

另請參閱

IVdsAdmin

IVdsAdmin::UnregisterProvider

VDS_PROVIDER_TYPE