我正在编写VSS硬件提供程序并且能够创建快照。因此,当使用跟踪工具进行跟踪时,我注意到PostCommitSnapshot完全是完美的。在PostCommit快照之后,自动导入Shadow副本GetTagetLuns,LoacteLuns和FillinLunInfo是必需的,但是我在一些存储上拍摄了一个卷的快照,所以我没有足够的信息提供给GetTargetLuns。
如果我继续使用AreLunsSupported中提供的相同LUNinfo,则会在GetTargetLuns中抛出BadSourceLun错误。
如果我试图通过在GetTargetLuns中注释掉检查条件来跳过此错误,则继续执行直到LocateLuns然后异步等待,然后调用OnLunEmpty方法然后中止快照。
我尝试将快照状态值设置为VSS_SS_POSTCOMMITTED,但这是为系统使用而保留的。
所以我想在Vss硬件提供程序中跳过这些方法吗?
任何帮助都会非常明显。
答案 0 :(得分:2)
当快照上下文设置为时,它不会调用它们: VSS_CTX_FILE_SHARE_BACKUP |请求方的VSS_VOLSNAP_ATTR_TRANSPORTABLE。