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
指向 dwCountVDS_LUN_INFORMATION 结构的数组的指针,每个 LUN 都为卷影复制卷贡献一个。
[in] pTargetLuns
指向 dwCountVDS_LUN_INFORMATION 结构的数组的指针,每个 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 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | vsprov.h |