isVolumeSnapshotted 函数 (vsbackup.h)

IsVolumeSnapshotted 函数确定指定卷是否存在任何卷影副本。

注意 此函数导出为 IsVolumeSnapshottedInternal,但应调用 IsVolumeSnapshotted,而不是 IsVolumeSnapshottedInternal
 

语法

HRESULT IsVolumeSnapshotted(
  [in]  VSS_PWSZ pwszVolumeName,
  [out] BOOL     *pbSnapshotsPresent,
  [out] LONG     *plSnapshotCapability
);

参数

[in] pwszVolumeName

卷的名称。 要检查的卷的名称必须使用以下格式之一,并且必须包含尾随反斜杠 (\) :

  • 已装载文件夹的路径,例如 Y:\MountX\
  • 驱动器号,例如 D:\
  • 格式为 \\?\Volume{GUID}\ (的卷 GUID 路径,其中 GUID 标识卷)

[out] pbSnapshotsPresent

如果卷具有卷影副本,则此参数的值为 TRUE ;如果卷没有卷影副本,则此参数的值为 FALSE

[out] plSnapshotCapability

位掩码 (或按位 OR) VSS_SNAPSHOT_COMPATIBILITY 值,该值指示是否对给定卷禁用某些卷控制或文件 I/O 操作(如果存在卷的卷影副本)。

返回值

此处列出的返回值是可能随时从函数返回的常规 COM HRESULT的补充。

含义
S_OK
函数已成功完成。
E_ACCESSDENIED
调用方没有足够的备份权限或不是管理员。
E_INVALIDARG
其中一个参数无效。
E_OUTOFMEMORY
内存不足或其他系统资源不足。
VSS_E_PROVIDER_VETO
预期的提供程序错误。 提供程序在事件日志中记录了错误。 有关详细信息,请参阅 VSS 下的事件和错误处理
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

VSS_E_UNEXPECTED_PROVIDER_ERROR
意外的提供程序错误。 错误代码记录在事件日志文件中。 有关其他信息,请参阅 VSS 下的事件和错误处理

注解

在调用此函数之前,调用方必须通过调用 CoInitialize 函数初始化 COM。

如果没有对所选卷禁用卷控制或文件 I/O 操作,则 plSnapshotCapability 返回的所选卷的卷影复制功能将为零。

要求

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

另请参阅

VSS_SNAPSHOT_COMPATIBILITY