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,这表示不匹配。

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

语法

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 不会忽略返回值,该值可以是以下值之一。

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

注解

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。
VDS_LUN_INFORMATION 结构) m_deviceIdDescriptor成员中的VDS_STORAGE_DEVICE_ID_DESCRIPTOR结构 (与第 83 页信息相对应。 在此结构中,每个 VDS_STORAGE_IDENTIFIER 结构对应于设备标识符 (的STORAGE_IDENTIFIER结构,即关联类型为零) 的存储标识符。 有关STORAGE_IDENTIFIER结构的详细信息,请参阅 Windows 驱动程序工具包 (WDK) 文档。

如果为提供程序未知的 LUN 调用 FillInLunInInfo 方法,则提供程序不应返回错误。 相反,它应在 pbIsSupported 参数指向的 BOOL 值中返回 FALSE,并返回成功。 如果提供程序识别 LUN,则应将 BOOL 值设置为 TRUE

要求

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

另请参阅

AreLunsSupported

GetTargetLuns

IVssHardwareSnapshotProvider

LocateLuns

OnLunEmpty

VDS_LUN_INFORMATION

VDS_STORAGE_IDENTIFIER