IVssHardwareSnapshotProvider::LocateLuns 方法 (vsprov.h)

LocateLuns 方法提示硬件提供程序使卷影副本 LUN 对计算机可见。 将硬件卷影副本集导入计算机时,VSS 将调用 LocateLuns 方法。 提供商负责在硬件级别上任何取消屏蔽 (或“浮出水面”) 。

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

语法

HRESULT LocateLuns(
  [in] LONG                lLunCount,
  [in] VDS_LUN_INFORMATION *rgSourceLuns
);

参数

[in] lLunCount

影响此卷影副本集的 LUN 数。

[in] rgSourceLuns

指向 iLunCountVDS_LUN_INFORMATION 结构的数组的指针,每个 LUN 是要导入的卷影副本集的一部分。

返回值

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

返回代码/值 说明
S_OK
0x00000000L
操作已成功完成。
E_OUTOFMEMORY
0x8007000EL
内存不足或其他系统资源不足。
E_INVALIDARG
0x80070057L
其中一个参数值无效。
VSS_E_PROVIDER_VETO
0x80042306L
发生意外的提供程序错误。 提供程序必须在应用程序事件日志中报告事件,为用户提供有关如何解决问题的信息。

注解

rgSourceLuns 参数中,VSS 提供提供程序之前在其 IVssHardwareSnapshotProvider::GetTargetLuns 方法中初始化的相同VDS_LUN_INFORMATION结构数组。 对于数组中的每个 VDS_LUN_INFORMATION 结构,提供程序应取消屏蔽 (或“surface”) 相应的卷影副本 LUN 到计算机。

此方法返回后,VSS 将立即执行重新扫描和枚举,以检测任何到达的设备。 这会导致 PnP 管理器发现任何公开的 LUN。 在侦听磁盘到达的同时,VSS 还将侦听隐藏的卷到达。 当导致卷影复制集的所有卷出现在系统中或发生超时后,VSS 将停止侦听。 如果某些磁盘或卷设备无法在此窗口中显示,则请求者将被告知,VSS 仅导入了部分卷影副本,并将 VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED 返回给请求者。 如果从 GetTargetLunsIVssHardwareSnapshotProvider::FillInLunInIninfo 方法收到的VDS_LUN_INFORMATION结构不匹配,则请求者还将从 VSS 收到相同的错误。

此方法不能用于将卷影复制 LUN 映射为只读。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vsprov.h

另请参阅

AreLunsSupported

FillInLunInfo

GetTargetLuns

IVssHardwareSnapshotProvider

VDS_LUN_INFORMATION