IVssHardwareSnapshotProvider::FillInLunInIninfo 方法 (vsprov.h)
FillInLunInfo 方法提示硬件提供程序指示它是否支持相应的磁盘设备,并更正VDS_LUN_INFORMATION结构中的任何遗漏。 VSS 在 IVssHardwareSnapshotProvider::LocateLuns 方法之后或 IVssHardwareSnapshotProvider::OnLunEmpty 方法之前调用 FillInLunInfo 方法,以获取与卷影复制 LUN 关联的VDS_LUN_INFORMATION结构。 VSS 将比较在 IVssHardwareSnapshotProvider::GetTargetLuns 方法中收到的VDS_LUN_INFORMATION结构,以识别卷影复制 LUN。 如果结构不匹配,则请求者将收到 VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED,这表示不匹配。
语法
HRESULT FillInLunInfo(
[in] VSS_PWSZ wszDeviceName,
[in, out] VDS_LUN_INFORMATION *pLunInfo,
[out] BOOL *pbIsSupported
);
参数
[in] wszDeviceName
对应于卷影复制 LUN 的设备。
[in, out] pLunInfo
卷影复制 LUN 的 VDS_LUN_INFORMATION 结构。
[out] pbIsSupported
如果支持设备,提供程序必须在 pbIsSupported 参数指向的位置返回 TRUE。
返回值
VSS 忽略此方法的返回值。
Windows Server 2003: VSS 不会忽略返回值,该值可以是以下值之一。
返回代码/值 | 说明 |
---|---|
|
操作已成功完成。 |
|
内存不足或其他系统资源。 |
|
其中一个参数值无效。 |
|
发生了意外的提供程序错误。 提供程序必须在应用程序事件日志中报告事件,为用户提供有关如何解决问题的信息。 |
注解
VSS 为提供程序以前在其 GetTargetLuns 方法中初始化的每个VDS_LUN_INFORMATION结构调用 FillInLunInInfo 方法。 VSS 还会为导入过程中到达系统的每个新磁盘设备调用 FillInLunInInfo 方法。
提供程序可以更正 pLunInfo 参数中收到的VDS_LUN_INFORMATION结构中的任何遗漏。 但是,提供程序不应修改此结构的 m_rgInterconnects 成员的值。
VDS_LUN_INFORMATION 结构的成员对应于 SCSI 查询数据和重要产品数据页 80 (设备序列号) 信息,但以下情况除外:
- m_version 成员必须设置为 VER_VDS_LUN_INFORMATION。
- m_BusType成员在导入期间被忽略。 此值取决于相应磁盘设备上的 PnP 存储堆栈。 通常是 VDSBusTypeScsi。
- 导入期间, m_diskSignature 成员在比较中将被忽略。 提供程序必须将此成员设置为 GUID_NULL。
如果为提供程序未知的 LUN 调用 FillInLunInInfo 方法,则提供程序不应返回错误。 相反,它应在 pbIsSupported 参数指向的 BOOL 值中返回 FALSE,并返回成功。 如果提供程序识别 LUN,则应将 BOOL 值设置为 TRUE。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsprov.h |