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

COM 类标识符 (硬件提供程序的 Clsid) 。

[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 提供程序 。 可能的返回值包括以下内容。

返回代码/值 说明
VDS_E_ALREADY_REGISTERED
0x80042403L
providerId 已注册。 在任何给定时间,只能注册一个版本的提供程序。

注解

如有必要,请在注册新版本之前调用 UnregisterProvider 以删除提供程序。

进程内提供程序从 DllRegisterServer 调用此方法;而进程外提供程序从 WinMain 函数调用。

在 VDS 运行时,硬件提供程序不得停止运行。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vdshwprv.h
Library Uuid.lib

另请参阅

IVdsAdmin

IVdsAdmin::UnregisterProvider

VDS_PROVIDER_TYPE