CommitSnapshots 方法可快速提交此提供程序中的所有 LUN。
Syntax
HRESULT CommitSnapshots(
[in] VSS_ID SnapshotSetId
);
参数
[in] SnapshotSetId
标识卷影复制集 的VSS_ID 。
返回值
| 返回代码/值 | Description |
|---|---|
|
作已成功完成。 |
|
内存不足或其他系统资源。 |
|
其中一个参数值无效。 |
|
SnapshotSetId 参数引用未找到的对象。 |
|
出现意外的提供程序错误。 提供程序必须在应用程序事件日志中记录此错误的详细信息。 |
如果返回任何其他值,VSS 会将事件写入事件日志,并将错误转换为 VSS_E_UNEXPECTED_PROVIDER_ERROR。
注解
此方法是在应拍摄卷影副本的已定义时间调用的。 对于此卷影复制集中的每个已准备 LUN,提供程序将执行保留时间点 LUN 内容所需的工作。 虽然此方法正在执行,但应用程序和 I/O 子系统基本上都处于静止状态。 提供程序必须最大程度地减少此方法中花费的时间。 一般情况下,此方法需要不到一秒才能完成。 此方法在“刷新和保留”窗口中调用,如果发布未在 10 秒内收到,VSS 内核支持将取消刷新和保留,这将导致 VSS 失败卷影复制创建过程。 如果每个提供程序需要超过一两秒才能完成此调用,则整个卷影副本创建将失败的可能性很高。
由于 I/O 系统处于静止状态,提供程序必须注意不要启动任何 I/O,因为它可能会使系统死锁-例如,通过此方法进行调试或跟踪 I/O,或者从此方法进行的任何调用。 此时不会冻结内存映射文件和分页 I/O。
请注意,仅当此方法正在执行时,I/O 系统才静止。 在最后一个提供程序的 CommitSnapshots 方法返回后,VSS 服务会释放源 LUN 上所有挂起的写入。 如果提供程序执行源复制和卷影复制 LUN 的任何同步,则必须在提供程序 的 CommitSnapshots 方法返回之前完成此同步;无法异步执行。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | vsprov.h |