IVssHardwareSnapshotProviderEx::ResyncLuns 方法 (vsprov.h)
VSS 服务调用此方法以通知硬件提供程序需要重新同步 LUN。
语法
HRESULT ResyncLuns(
[in] VDS_LUN_INFORMATION *pSourceLuns,
[in] VDS_LUN_INFORMATION *pTargetLuns,
[in] DWORD dwCount,
[out] IVssAsync **ppAsync
);
参数
[in] pSourceLuns
指向 dwCount数组的指针VDS_LUN_INFORMATION 结构,每个 LUN 一个用于影响卷影复制卷的 LUN。
[in] pTargetLuns
指向 dwCount数组的指针,VDS_LUN_INFORMATION 结构,每个 LUN 对应一个,该 LUN 将参与到要复制卷影复制卷的内容的目标卷。
[in] dwCount
pSourceLuns 数组中的元素数。 这也是 pTargetLuns 数组中的元素数。
[out] ppAsync
指向将接收 IVssAsync 接口指针的位置的指针,该指针可用于检索重新同步操作的状态。 操作完成后,调用方必须通过调用 IUnknown::Release 方法释放接口指针。
返回值
此方法可以返回其中一个值。
返回代码/值 | 说明 |
---|---|
|
操作已成功完成。 |
|
内存不足或其他系统资源。 |
|
发生意外的提供程序错误。 如果返回此错误代码,则必须在应用程序事件日志中的条目中描述错误,为用户提供有关如何解决问题的信息。 |
|
提供程序无法执行该操作,因为没有足够的磁盘空间。 |
注解
目标 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 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsprov.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈