Метод IVssProviderCreateSnapshotSet::CommitSnapshots (vsprov.h)

Метод CommitSnapshots быстро фиксирует все LUN в этом поставщике.

Синтаксис

HRESULT CommitSnapshots(
  [in] VSS_ID SnapshotSetId
);

Параметры

[in] SnapshotSetId

VSS_ID, определяющий набор теневых копий.

Возвращаемое значение

Возвращаемый код/значение Описание
S_OK
0x00000000L
Операция успешно завершена.
E_OUTOFMEMORY
0x8007000EL
Нехватка памяти или других системных ресурсов.
E_INVALIDARG
0x80070057L
Одно из значений параметра недопустимо.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
Параметр SnapshotSetId ссылается на объект, который не был найден.
VSS_E_PROVIDER_VETO
0x80042306L
Произошла непредвиденная ошибка поставщика. Поставщик должен записать сведения об этой ошибке в журнал событий приложения.
 

Если возвращается какое-либо другое значение, VSS записывает событие в журнал событий и преобразует ошибку в VSS_E_UNEXPECTED_PROVIDER_ERROR.

Комментарии

Этот метод вызывается в определенное время, когда должны быть сделаны теневые копии. Для каждого подготовленного LUN в этом наборе теневых копий поставщик выполнит работу, необходимую для сохранения содержимого LUN на определенный момент времени. Пока выполняется этот метод, приложения и подсистема ввода-вывода в значительной степени находятся в заморачиваемом режиме. Поставщик должен свести к минимуму время, затрачиваемое на этот метод. Как правило, выполнение этого метода должно занять менее одной секунды. Этот метод вызывается в окне Очистка и удержание, и поддержка ядра VSS отменит очистку и удержание, если выпуск не будет получен в течение 10 секунд, что приведет к сбою vss при создании теневой копии. Если каждому поставщику требуется более секунды или двух для выполнения этого вызова, существует высокая вероятность того, что создание теневой копии завершится сбоем.

Так как система ввода-вывода находится в замораживается, поставщик должен позаботиться о том, чтобы не инициировать ввод-вывод, так как это может привести к взаимоблокировке системы, например отладке или трассировке операций ввода-вывода с помощью этого метода или любых вызовов, выполненных из этого метода. Сопоставленные в памяти файлы и разбиение операций ввода-вывода подкачки в настоящее время не будут заморожены.

Обратите внимание, что система ввода-вывода заморачивается только во время выполнения этого метода. Сразу после возврата метода CommitSnapshots последнего поставщика служба VSS освобождает все ожидающие операции записи в исходных LUN. Если поставщик выполняет синхронизацию lun исходной и теневой копии, эта синхронизация должна быть завершена до возврата метода CommitSnapshots поставщика; Его нельзя выполнять асинхронно.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header vsprov.h

См. также раздел

IVssProviderCreateSnapshotSet