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的补充。
值 | 含义 |
---|---|
|
函数已成功完成。 |
|
调用方没有足够的备份权限或不是管理员。 |
|
其中一个参数无效。 |
|
内存不足或其他系统资源不足。 |
|
预期的提供程序错误。 提供程序在事件日志中记录了错误。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
找不到指定的卷。 |
|
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前不支持此值。 改用E_UNEXPECTED 。 |
|
意外的提供程序错误。 错误代码记录在事件日志文件中。 有关其他信息,请参阅 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 |