IVssHardwareSnapshotProviderEx::ResyncLuns 方法 (vsprov.h)

VSS 服务调用此方法以通知硬件提供程序需要 LUN 重新同步。

注意, 硬件提供程序仅在 Windows Server 操作系统上受支持。

 

语法

HRESULT ResyncLuns(
  [in]  VDS_LUN_INFORMATION *pSourceLuns,
  [in]  VDS_LUN_INFORMATION *pTargetLuns,
  [in]  DWORD               dwCount,
  [out] IVssAsync           **ppAsync
);

参数

[in] pSourceLuns

指向 dwCountVDS_LUN_INFORMATION 结构的数组的指针,每个 LUN 都为卷影复制卷贡献一个。

[in] pTargetLuns

指向 dwCountVDS_LUN_INFORMATION 结构的数组的指针,每个 LUN 对应一个构成要复制卷内容的卷的目标卷。

[in] dwCount

pSourceLuns 数组中的元素数。 这也是 pTargetLuns 数组中的元素数。

[out] ppAsync

指向将接收 IVssAsync 接口指针的位置的指针,该指针可用于检索重新同步操作的状态。 操作完成后,调用方必须通过调用 IUnknown::Release 方法释放接口指针。

返回值

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

返回代码/值 描述
S_OK
0x00000000L
操作已成功完成。
E_OUTOFMEMORY
0x8007000EL
内存不足或其他系统资源。
VSS_E_PROVIDER_VETO
0x80042306L
出现意外的提供程序错误。 如果返回此错误代码,则必须在应用程序事件日志中的条目中描述该错误,为用户提供有关如何解决问题的信息。
VSS_E_INSUFFICIENT_STORAGE
0x8004231FL
提供程序无法执行该操作,因为没有足够的磁盘空间。

言论

目标 LUN 可以是为创建卷影副本的原始生产卷做出贡献的 LUN,也可以是用于替换从生产中删除的原始卷的新 LUN 或现有 LUN。

提供程序必须在 LUN 数组级别复制数据而不是主机级别来执行重新同步。 这意味着提供程序无法实现 LUN 重新同步,只需将源 LUN 的内容复制到目标 LUN 即可。 执行 LUN 重新同步所需的 I/O 必须通过重新同步 LUN 的磁盘设备(而不是通过主计算机)在硬件中执行。 此 I/O 应该对主计算机完全透明。

重新同步完成后,LUN 功能完备,可用于 I/O 操作。

基础磁盘硬件必须支持唯一的第 83 页设备标识符。

如果目标 LUN 大于源 LUN,则提供程序必须根据需要调整目标 LUN 的大小,以确保它在重新同步后与源 LUN 匹配。

无法在 WinPE 中调用此方法,并且无法在安全模式下调用此方法。 调用此方法之前,调用方必须使用 IVssBackupComponents::InitializeForRestore 方法来准备重新同步。

要求

要求 价值
最低支持的客户端 不支持
支持的最低服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 窗户
标头 vsprov.h

另请参阅

IVssHardwareSnapshotProviderEx