Метод IVssCreateWriterMetadata::AddComponentDependency (vswriter.h)
Метод AddComponentDependency позволяет модулю записи указать, что компонент, которым он управляет, имеет явную зависимость компонента записи; т. е. необходимо создать резервную копию и восстановить с помощью другого компонента в другом модулю записи.
Синтаксис
HRESULT AddComponentDependency(
[in] LPCWSTR wszForLogicalPath,
[in] LPCWSTR wszForComponentName,
[in] VSS_ID onWriterId,
[in] LPCWSTR wszOnLogicalPath,
[in] LPCWSTR wszOnComponentName
);
Параметры
[in] wszForLogicalPath
Строка расширенных символов со значением NULL, содержащая логический путь к компоненту (управляемому текущим модулем записи), для котором требуется зависимость.
[in] wszForComponentName
Строка расширенных символов со значением NULL, содержащая компонент (управляемый текущим модулем записи), требующий зависимости.
[in] onWriterId
Идентификатор класса или VSS_ID (GUID) модуля записи, управляющего компонентом, от которого зависит текущий компонент.
[in] wszOnLogicalPath
Логический путь к компоненту (управляемому модулем записи, определяемому с помощью onWriterId), от которого зависит текущий компонент.
[in] wszOnComponentName
Имя компонента (управляемого модулем записи, определяемого с помощью onWriterId), от которого зависит текущий компонент.
Возвращаемое значение
Ниже приведены допустимые коды возврата для этого метода.
Значение | Значение |
---|---|
|
Операция выполнена успешно. |
|
Одно из значений параметра является недопустимым. |
|
Вызывающий объект не имеет памяти или других системных ресурсов. |
|
Недопустимый XML-документ. Дополнительные сведения см. в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS. |
|
Компонент, заданный wszForLogicalPath и wszForComponentName , не существует. |
|
Непредвиденная ошибка. Код ошибки регистрируется в файле журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED. |
Комментарии
Зависимости от компонентов, управляемых текущим модулем записи, запрещены.
Зависимость требует, чтобы целевой объект зависимости и компонент, зависящий от целевого объекта, были восстановлены и резервное копирование вместе. Он не указывает приоритет между компонентами, хотя инициатор запроса может реализовать его.
Так как сочетание логического имени и имени компонента должно быть уникальным для всех экземпляров класса записи, то, что несколько модулей записи могут иметь один и тот же идентификатор класса, не является проблемой.
Этот метод можно использовать для объявления удаленных зависимостей. Модуль записи может объявить удаленную зависимость, добавляя "\\RemoteComputerName", где RemoteComputerName — это имя компьютера, на котором находится удаленный компонент, к логическому пути в параметре wszOnLogicalPath . Значением RemoteComputerName может быть IP-адрес или имя компьютера, возвращаемое функцией GetComputerNameEx.
Если удаленный компонент находится в кластере, модуль записи должен сообщить виртуальное имя кластера, и инициатор запроса отвечает за сопоставление виртуального имени с физическим именем узла кластера перед созданием теневой копии тома.
Чтобы определить, является ли зависимость локальной или удаленной, инициатор запроса должен изучить имя компонента, возвращаемое в параметре pbstrComponentName . Если имя компонента начинается с "\", инициатор запроса должен предположить, что он указывает удаленную зависимость и что первым компонентом после "\" является RemoteComputerName , заданным модулем записи. Если имя компонента не начинается с "\", инициатор запроса должен предположить, что он указывает локальную зависимость.
Windows Server 2003: Этот метод нельзя использовать для объявления удаленных зависимостей до Windows Server 2003 с пакетом обновления 1 (SP1).
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | vswriter.h (включая Vss.h, VsWriter.h) |
Библиотека | VssApi.lib |