CVssWriter::GetSnapshotDeviceName 方法 (vswriter.h)

GetSnapshotDeviceName 方法返回托管指定卷或文件共享的卷影副本的设备的名称。 此方法允许编写器支持 自动恢复 卷影副本,并且只能在处理 OnPostSnapshot 方法期间调用。

语法

HRESULT GetSnapshotDeviceName(
  [in]  LPCWSTR wszOriginalVolume,
  [out] LPCWSTR *ppwszSnapshotDevice
);

参数

[in] wszOriginalVolume

原始卷的名称或包含用于当前卷影副本集的数据的原始文件共享的 UNC 路径。 卷的名称必须使用以下格式之一,并且必须包含尾随反斜杠 (\) :

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

[out] ppwszSnapshotDevice

将接收指向卷影副本设备名称的指针的 LPCWSTR 的地址。

返回值

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

含义
S_OK
已成功返回卷影复制卷名称。
E_INVALIDARG
其中一个参数值无效。
VSS_E_BAD_STATE
PostSnapshot 事件期间未进行调用。
VSS_E_OBJECT_NOT_FOUND
wszOriginalVolume 参数不是卷影复制集中的卷或文件共享之一。

注解

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

若要获取 wszOriginalVolume 参数的原始卷的名称,请首先调用 CVssWriter::GetCurrentVolumeCount 方法来查询卷影副本集中的卷数。 然后调用 CVssWriter::GetCurrentVolumeArray 方法以枚举卷影副本集中卷的原始名称。

要求

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