Поделиться через


Метод CVssWriter::Initialize (vswriter.h)

Инициализирует объект CVssWriter и позволяет приложению записи взаимодействовать с VSS.

Initialize — это открытый метод, реализованный базовым классом CVssWriter .

Синтаксис

HRESULT Initialize(
  [in] VSS_ID                     WriterId,
  [in] LPCWSTR                    wszWriterName,
  [in] VSS_USAGE_TYPE             ut,
  [in] VSS_SOURCE_TYPE            st,
  [in] VSS_APPLICATION_LEVEL      nLevel,
  [in] DWORD                      dwTimeoutFreeze,
  [in] VSS_ALTERNATE_WRITER_STATE aws,
  [in] bool                       bIOThrottlingOnly,
  [in] LPCWSTR                    wszWriterInstanceName
);

Параметры

[in] WriterId

Глобальный уникальный идентификатор (GUID) класса записи.

[in] wszWriterName

Строка расширенных символов, завершающаяся нулевым значением, которая содержит имя модуля записи. Эта строка не локализована.

[in] ut

Значение перечисления VSS_USAGE_TYPE , указывающее, как данные, управляемые модулем записи, используются в хост-системе.

[in] st

Значение перечисления VSS_SOURCE_TYPE , указывающее тип данных, управляемых модулем записи.

[in] nLevel

Значение перечисления VSS_APPLICATION_LEVEL , указывающее уровень приложения, на котором модуль записи получает уведомление о событии Freeze .

Значение по умолчанию для этого параметра — VSS_APP_FRONT_END.

[in] dwTimeoutFreeze

Максимально допустимое время (в миллисекундах) между получением модуля записи уведомления о событии Замораживания и получением соответствующего уведомления о событии Thaw от VSS. По истечении времени ожидания метод CVssWriter::OnAbort модуля записи вызывается автоматически.

Значение по умолчанию для этого параметра — 60 000.

[in] aws

Значение перечисления VSS_ALTERNATE_WRITER_STATE , указывающее, имеет ли модуль записи связанный альтернативный модуль записи.

Значение по умолчанию для этого параметра — VSS_AWS_NO_ALTERNATE_WRITER. Вызывающий объект не должен переопределять это значение по умолчанию. Этот параметр зарезервирован для использования в будущем.

[in] bIOThrottlingOnly

Задайте для этого параметра значение true , если методы регулирования ввода-вывода включены, или значение false в противном случае.

Значение по умолчанию для этого параметра — false. Вызывающий объект не должен переопределять это значение по умолчанию. Этот параметр зарезервирован для использования в будущем.

[in] wszWriterInstanceName

Строка расширенных символов, завершающаяся null, которая содержит имя экземпляра модуля записи.

Значение по умолчанию для этого параметра — NULL. Если модуль записи содержит несколько экземпляров и требует событий восстановления, этот параметр является обязательным и не может иметь значение NULL. Дополнительные сведения см. в следующем разделе Примечаний.

Windows Server 2003 и Windows XP: До Windows Server 2003 с пакетом обновления 1 (SP1) этот параметр зарезервирован для использования системой, и вызывающий объект не должен переопределять значение по умолчанию.

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

Ниже приведены допустимые коды возврата для этого метода.

Значение Значение
S_OK
Объект записи успешно инициализирован.
S_FALSE
Не удалось инициализировать объект записи; инфраструктура модуля записи VSS была неактивна, так как Windows находилась в безопасном режиме или была настроена.
E_ACCESSDENIED
Вызывающий объект не является администратором.
E_INVALIDARG
Одно из значений параметра недопустимо.
E_OUTOFMEMORY
У вызывающего объекта не хватает памяти или других системных ресурсов.
VSS_E_UNEXPECTED
Непредвиденная ошибка. Код ошибки записывается в файл журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED.

Комментарии

VSS назначает уникальный идентификатор экземпляра модуля записи каждому экземпляру приложения записи. Если в системе одновременно присутствует несколько экземпляров (например, если в системе запущено несколько серверов SQL), каждый модуль записи однозначно определяется сочетанием идентификатора класса записи и идентификатора экземпляра модуля записи.

Параметр wszWriterInstanceName позволяет модулю записи с несколькими экземплярами указать постоянное имя для каждого экземпляра модуля записи в виде удобочитаемой строки. Это имя должно быть уникальным для всех экземпляров модуля записи в системе. Если модуль записи имеет несколько экземпляров и требует событий восстановления, он должен указать для этого параметра строку, отличной от NULL . VSS использует имя экземпляра для правильного восстановления модулей записи с несколькими экземплярами.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header vswriter.h (включая Vss.h, VsWriter.h)
Библиотека VssApi.lib

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

CVssWriter

CVssWriter::OnAbort

VSS_ALTERNATE_WRITER_STATE

VSS_APPLICATION_LEVEL

VSS_ID

VSS_SOURCE_TYPE

VSS_USAGE_TYPE