IVssAdmin::RegisterProvider 方法 (vsadmin.h)

RegisterProvider 方法注册新的卷影复制提供程序。

语法

HRESULT RegisterProvider(
  [in] VSS_ID            pProviderId,
  [in] CLSID             ClassId,
  [in] VSS_PWSZ          pwszProviderName,
  [in] VSS_PROVIDER_TYPE eProviderType,
  [in] VSS_PWSZ          pwszProviderVersion,
  [in] VSS_ID            ProviderVersionId
);

参数

[in] pProviderId

唯一且持久地标识提供程序的 VSS_ID 。 定义后, ProviderId 参数应保持不变,即使软件修订版已更新也是如此。 仅当功能更改到两个提供程序在同一系统上处于活动状态时,才应更改 ProviderId 参数。 请求者可以使用 ProviderId 参数请求在创建卷影副本时使用特定提供程序。

[in] ClassId

提供程序的 CLSID。

[in] pwszProviderName

提供程序的名称。

[in] eProviderType

一个VSS_PROVIDER_TYPE枚举值,该值指定提供程序类型。 请注意, VSS_PROV_HARDWARE 不是 Windows 客户端操作系统版本中的有效提供程序类型。 硬件提供程序仅在 Windows 服务器操作系统版本上运行。

[in] pwszProviderVersion

提供程序的版本。

[in] ProviderVersionId

唯一标识此版本的提供程序的 VSS_IDpProviderIdProviderVersionId 参数的组合应是唯一的。 ProviderVersionId 参数可以与另一个提供程序的 ProviderVersionId 参数相同。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
已成功注册提供程序。
E_INVALIDARG
一个或多个参数值无效。 例如, VSS_PROV_HARDWARE 不是 Windows 客户端操作系统版本中的有效提供程序类型。
E_OUTOFMEMORY
内存不足或其他系统资源不足。
E_ACCESSDENIED
调用方不是管理员。
VSS_E_PROVIDER_ALREADY_REGISTERED
提供程序已在此计算机上注册。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前不支持此值。 改用E_UNEXPECTED。

注解

如果更新了硬件提供程序,安装程序应用程序应调用 UnregisterProvider 方法来注销过时的版本,然后调用 RegisterProvider 方法来注册更新的提供程序。

注意 只能在 Windows Server 操作系统上注册硬件提供程序。
 

要求

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

另请参阅

IVssAdmin

UnregisterProvider