IVssBackupComponents::IsVolumeSupported 方法 (vsbackupup.h)

IsVolumeSupported 方法确定指定的提供程序是否支持指定卷或远程文件共享上的卷影副本。

语法

HRESULT IsVolumeSupported(
  [in]  VSS_ID   ProviderId,
  [in]  VSS_PWSZ pwszVolumeName,
  [out] BOOL     *pbSupportedByThisProvider
);

参数

[in] ProviderId

提供程序标识符。 如果值为 GUID_NULL,IsVolumeSupported 将检查是否有任何提供程序支持卷或远程文件共享。

[in] pwszVolumeName

远程文件共享的卷名或 UNC 路径。 名称或 UNC 路径必须使用以下格式之一,并且必须包含尾随反斜杠 (\) :

  • 装载文件夹的路径,例如 Y:\MountX\
  • 驱动器号,例如 D:\
  • 格式为 \\?\Volume{GUID}\ (的卷 GUID 路径,其中 GUID 标识卷)
  • 指定远程文件共享的 UNC 路径,例如 \\Clusterx\Share1\

[out] pbSupportedByThisProvider

调用方分配的变量的地址,如果指定卷或远程文件共享上支持卷影副本,则接收 TRUE ;否则为 FALSE

返回值

下面是此方法的有效返回代码。

含义
S_OK
已成功返回提供程序支持信息。
E_ACCESSDENIED
调用方没有足够的备份权限或不是管理员。
VSS_E_NESTED_VOLUME_LIMIT
指定的卷嵌套太深,无法参与 VSS 操作。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此返回代码。

E_OUTOFMEMORY
调用方内存不足或其他系统资源。
VSS_E_BAD_STATE
备份组件对象未初始化,在还原操作期间调用了此方法,或者尚未在正确的顺序中调用此方法。
VSS_E_OBJECT_NOT_FOUND
找不到指定的卷或远程文件共享或不可用。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

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

注解

Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP 和 Windows Server 2003: 在Windows 8和Windows Server 2012之前,不支持远程文件共享。

如果可以在给定卷上创建卷影副本,IsVolumeSupported 将返回 TRUE,即使当前配置不允许在该卷上创建卷影副本。

例如,如果在给定卷 (上已达到卷影副本的最大数目,因此无法在该卷) 上创建更多卷影副本,则 该方法仍将指示可以卷影复制卷。

注意 有关可在卷上创建的最大卷影副本数的详细信息,请参阅注册表项中的 MaxShadowCopies 条目 和备份和还原值
 
无法为嵌套在另一 VHD 中的虚拟硬盘 (VHD) 调用此方法。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持 VHD。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h)
Library VssApi.lib

另请参阅

IVssBackupComponents

IVssBackupComponents::AddToSnapshotSet