IVssHardwareSnapshotProvider::OnLunEmpty 方法 (vsprov.h)
每当 VSS 确定卷影复制 LUN 不包含任何相关数据时,将调用 OnLunEmpty 方法。 所有卷影副本都已删除 (这还会导致 LUN 的删除。) 提供程序可能会回收 LUN 资源,并重新用于其他目的。 VSS 将卸载任何受影响的卷。 提供程序不应在 OnLunEmpty 期间发出重新扫描。 VSS 将处理此清理。
语法
HRESULT OnLunEmpty(
[in] VSS_PWSZ wszDeviceName,
[in] VDS_LUN_INFORMATION *pInformation
);
参数
[in] wszDeviceName
对应于包含要删除的卷影副本的 LUN 的设备。
[in] pInformation
指向 VDS_LUN_INFORMATION 结构的指针,该结构包含有关包含要删除的卷影副本的 LUN 的信息。
返回值
此方法可以返回其中一个值。
返回代码/值 | 说明 |
---|---|
|
操作已成功完成。 |
|
内存不足或其他系统资源。 |
|
其中一个参数值无效。 |
|
发生意外的提供程序错误。 提供程序必须在应用程序事件日志中报告事件,为用户提供有关如何解决问题的信息。 |
注解
硬件提供程序应删除卷影副本并回收 LUN,前提是且仅当
正在调用 OnLunEmpty。 硬件卷影副本可以用作备份介质本身,因此应像存储阵列处理用于常规磁盘的 LUN 一样处理 LUN。 在 处理 OnLunEmpty 之外回收 LUN 应仅限于紧急或管理员手动执行显式操作。
对于永久性卷影副本,请求者在不再需要卷影副本时将其删除。 对于非持久性自动释放卷影副本,当请求者对 IVssBackupComponents 对象调用 IUnknown::Release 时,VSS 服务会删除卷影副本。 对于非持久性非自动释放卷影副本,当计算机重启时,VSS 服务会删除卷影副本。 在所有情况下,VSS 服务会根据需要为每个卷影复制 LUN 调用提供程序的 OnLunEmpty 方法。
请注意,会尽力调用 OnLunEmpty 。 仅当保证 LUN 为空时,VSS 才会调用 方法。 在许多情况下,LUN 为空,但由于错误或外部情况,VSS 无法检测到此情况。 在这种情况下,用户应使用存储管理软件清除此状态。
下面是一些示例:
- 当卷影复制 LUN 移动到其他主机,但实际上未通过 VSS 传输或导入时,该 LUN 显示为任何其他 LUN,并且只需删除卷,而无需任何 VSS 通知。
- 在创建卷影副本时崩溃或意外重启。
- 已取消的导入。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsprov.h |