Метод IVssBackupComponentsEx3::GetWriterStatusEx (vsbackup.h)
Возвращает расширенные сведения о состоянии для указанного модуля записи.
Синтаксис
HRESULT GetWriterStatusEx(
[in] UINT iWriter,
[out] VSS_ID *pidInstance,
[out] VSS_ID *pidWriter,
[out] BSTR *pbstrWriter,
[out] VSS_WRITER_STATE *pnStatus,
[out] HRESULT *phrFailureWriter,
[out, optional] HRESULT *phrApplication,
[out, optional] BSTR *pbstrApplicationMessage
);
Параметры
[in] iWriter
Индекс модуля записи, метаданные которого необходимо извлечь. Значение этого параметра является целым числом от 0 до n–1 включительно, где n — общее количество модулей записи в текущей системе. Значение n возвращается методом IVssBackupComponents::GetWriterStatusCount .
[out] pidInstance
Адрес переменной, выделенной вызывающим объектом, которая получает идентификатор экземпляра модуля записи. Этот параметр является обязательным и не может иметь значение NULL.
[out] pidWriter
Адрес переменной, выделенной вызывающим объектом, которая получает идентификатор для класса записи. Этот параметр является обязательным и не может иметь значение NULL.
[out] pbstrWriter
Адрес переменной, выделенной вызывающим объектом, которая получает строку, содержащую имя указанного модуля записи. Этот параметр является обязательным и не может иметь значение NULL.
[out] pnStatus
Адрес переменной, выделенной вызывающим объектом, которая получает значение перечисления VSS_WRITER_STATE . Этот параметр является обязательным и не может иметь значение NULL.
[out] phrFailureWriter
Адрес переменной, выделенной вызывающим объектом, которая получает код сбоя HRESULT, который модуль записи вернул для параметра hrWriter метода CVssWriterEx2::SetWriterFailureEx .
Ниже приведены поддерживаемые значения.
Значение | Значение |
---|---|
|
Писатель был успешным. |
|
Теневая копия содержит только подмножество томов, необходимых средству записи для правильного резервного копирования компонента приложения. |
|
У модуля записи не хватает памяти или других системных ресурсов. Для обработки этого кода ошибки рекомендуется подождать десять минут, а затем повторить операцию до трех раз. |
|
Операция записи завершилась сбоем из-за истечения времени ожидания между событиями Freeze и Thaw. Для обработки этого кода ошибки рекомендуется подождать десять минут, а затем повторить операцию до трех раз. |
|
Сбой модуля записи из-за ошибки, которая, скорее всего, не произойдет, если был перезапущен весь процесс резервного копирования, восстановления или создания теневой копии. Для обработки этого кода ошибки рекомендуется подождать десять минут, а затем повторить операцию до трех раз. |
|
Операция записи завершилась сбоем из-за ошибки, которая может повторяться при создании другой теневой копии. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS. |
|
Модуль записи не отвечает. |
|
Состояние записи недоступно для одного или нескольких модулей записи. Модуль записи может достичь максимального числа доступных сеансов резервного копирования и восстановления. |
|
Модуль записи сообщает об одной или нескольких ошибках на уровне компонентов. Чтобы получить ошибки, инициатор запроса должен использовать метод IVssComponentEx2::GetFailure . |
[out, optional] phrApplication
Адрес переменной, выделенной вызывающим объектом, которая получает код возврата, переданный модулем записи для параметра hrApplication метода CVssWriterEx2::SetWriterFailureEx . Этот параметр является необязательным и может иметь значение NULL.
[out, optional] pbstrApplicationMessage
Адрес переменной, получающей сообщение о сбое приложения, переданное модулем записи для параметра wszApplicationMessage метода SetWriterFailureEx . Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
Ниже приведены допустимые коды возврата для этого метода.
Значение | Значение |
---|---|
|
Успешно возвращено состояние указанного модуля записи. Обратите внимание, что значение параметра phrFailureWriter должно быть проверено, чтобы убедиться, что модуль записи успешно выполнен. Коды ошибок модуля записи могут находиться в списке VsWriter.h, а также в разделе Ошибки и вето модуля записи. |
|
Параметр pnStatus, pidWriter, pbstrWriter или pidInstance имеет значение NULL. |
|
У вызывающего объекта не хватает памяти или других системных ресурсов. |
|
Объект компонентов резервного копирования не инициализирован, этот метод был вызван во время операции восстановления или этот метод не был вызван в правильной последовательности. |
|
Параметр iWriter указывает несуществующий модуль записи. |
Комментарии
Инициатор запроса должен вызвать асинхронную операцию IVssBackupComponents::GatherWriterStatus и дождаться ее завершения перед вызовом IVssBackupComponentsEx3::GetWriterStatusEx.
Если этот метод возвращает VSS_E_WRITERERROR_PARTIAL_FAILURE, инициатор запроса должен использовать метод IVssComponentEx2::GetFailure для получения ошибок на уровне компонентов.
Когда вызывающий объект завершит доступ к сведениям о состоянии, возвращенным этим методом, он должен вызвать SysFreeString , чтобы освободить память, хранящуюся в параметрах pbstrWriter и pbstrApplicationMessage .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | vsbackup.h (включая VsBackup.h, Vss.h, VsWriter.h) |
См. также раздел
CVssWriterEx2::SetWriterFailureEx