IVssHardwareSnapshotProvider::GetTargetLuns 方法 (vsprov.h)
GetTargetLuns 方法提示硬件提供程序初始化新创建的卷影副本 LUN 的VDS_LUN_INFORMATION结构。 GetTargetLuns 方法在 IVssProviderCreateSnapshotSet::P ostCommitSnapshots 方法之后调用。 每个新创建的 LUN 的标识信息通过 VDS_LUN_INFORMATION 结构返回到 VSS。
语法
HRESULT GetTargetLuns(
[in] LONG lLunCount,
[in] VSS_PWSZ *rgDeviceNames,
[in] VDS_LUN_INFORMATION *rgSourceLuns,
[in, out] VDS_LUN_INFORMATION *rgDestinationLuns
);
参数
[in] lLunCount
影响原始卷的 LUN 计数。
[in] rgDeviceNames
指向指向字符串的 lLunCount 指针数组的指针的指针。 每个字符串都包含要卷影复制的原始 LUN 的名称。
[in] rgSourceLuns
指向 lLunCountVDS_LUN_INFORMATION 结构的数组的指针,该数组用于影响原始卷的每个 LUN。
[in, out] rgDestinationLuns
指向 lLunCountVDS_LUN_INFORMATION 结构的数组的指针,在卷影复制处理过程中创建的每个新卷影副本 LUN 对应一个。 rgSourceLuns 和 rgDestinationLuns 数组的元素之间应存在一对一的对应关系。
返回值
此方法可以返回其中一个值。
返回代码/值 | 说明 |
---|---|
|
操作已成功完成。 |
|
内存不足或其他系统资源不足。 |
|
其中一个参数值无效。 |
|
发生意外的提供程序错误。 提供程序必须在应用程序事件日志中报告事件,为用户提供有关如何解决问题的信息。 |
注解
在 rgDestinationLuns 参数中 ,VSS 为每个新建的卷影副本 LUN 提供空 VDS_LUN_INFORMATION 结构。 卷影副本 LUN 对系统不可见或不可见。 提供程序应使用相应的 SCSI 查询数据和重要产品数据页 80 (设备序列号) 和页 83 初始化 VDS_LUN_INFORMATION 结构的成员 , (设备标识) 信息。 结构应包含正确的成员值,以便 Windows 可以从原始计算机或连接到 SAN 的任何其他计算机找到卷影副本 LUN。
VDS_LUN_INFORMATION 结构的成员对应于第 80 页信息,但以下例外:
- m_version 成员必须设置为 VER_VDS_LUN_INFORMATION。
- 导入期间,在比较中忽略 m_BusType 成员。 此值取决于相应磁盘设备上的 PnP 存储堆栈。 通常为 VDSBusTypeScsi。
- 导入期间,在比较中忽略 m_diskSignature 成员。 提供程序必须将此成员设置为 GUID_NULL。
此处返回 的VDS_LUN_INFORMATION 结构必须与导入过程中 IVssHardwareSnapshotProvider::FillInLunInfo 方法中提供的结构相同,以便 VSS 可以使用此信息在导入时标识新到达的卷影副本 LUN。 这些相同的结构将传递给 IVssHardwareSnapshotProvider::LocateLuns 方法中的提供程序。
要求
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsprov.h |