Compartir a través de


Método IVssCreateWriterMetadata::AddComponentDependency (vswriter.h)

El método AddComponentDependency permite a un escritor indicar que un componente que administra tiene una dependencia explícita de writer-component; es decir, se debe realizar una copia de seguridad de otro componente de otro sistema de escritura y restaurarlo con él.

Sintaxis

HRESULT AddComponentDependency(
  [in] LPCWSTR wszForLogicalPath,
  [in] LPCWSTR wszForComponentName,
  [in] VSS_ID  onWriterId,
  [in] LPCWSTR wszOnLogicalPath,
  [in] LPCWSTR wszOnComponentName
);

Parámetros

[in] wszForLogicalPath

Cadena de caracteres anchos terminada en NULL que contiene la ruta de acceso lógica del componente (administrado por el escritor actual) que requiere una dependencia.

[in] wszForComponentName

Cadena de caracteres anchos terminada en NULL que contiene el componente (administrado por el escritor actual) que requiere una dependencia.

[in] onWriterId

Identificador de clase o VSS_ID (GUID) del escritor que administra el componente en el que depende el componente actual.

[in] wszOnLogicalPath

Ruta de acceso lógica del componente (administrado por el escritor identificado por onWriterId) en el que depende el componente actual.

[in] wszOnComponentName

Nombre del componente (administrado por el escritor identificado por onWriterId) en el que depende el componente actual.

Valor devuelto

A continuación se muestran los códigos de retorno válidos para este método.

Valor Significado
S_OK
La operación se realizó correctamente.
E_INVALIDARG
Uno de los valores de parámetro no es válido.
E_OUTOFMEMORY
El autor de la llamada no tiene memoria u otros recursos del sistema.
VSS_E_INVALID_XML_DOCUMENT
El documento XML no es válido. Compruebe el registro de eventos para obtener más información. Para obtener más información, consulte Control de eventos y errores en VSS.
VSS_E_OBJECT_NOT_FOUND
El componente especificado por wszForLogicalPath y wszForComponentName no existe.
VSS_E_UNEXPECTED
error inesperado. El código de error se registra en el archivo de registro de errores. Para obtener más información, consulte Control de eventos y errores en VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite hasta Windows Server 2008 R2 y Windows 7. E_UNEXPECTED se usa en su lugar.

Comentarios

No se permiten las dependencias de los componentes administrados por el escritor actual.

Una dependencia requiere que tanto el destino de la dependencia como el componente que depende del destino se restauren y realicen copias de seguridad juntas. No indica una prioridad entre los componentes, aunque un solicitante puede optar por implementarlo.

Dado que la combinación de nombre lógico y nombre de componente debe ser única en todas las instancias de una clase de escritor, el hecho de que varios escritores puedan tener el mismo identificador de clase no es un problema.

Este método se puede usar para declarar dependencias remotas. Un escritor puede declarar una dependencia remota prepending "\\RemoteComputerName", donde RemoteComputerName es el nombre del equipo donde reside el componente remoto, en la ruta de acceso lógica del parámetro wszOnLogicalPath . El valor de RemoteComputerName puede ser una dirección IP o un nombre de equipo devuelto por la función GetComputerNameEx .

Si el componente remoto reside en un clúster, el escritor debe notificar el nombre virtual del clúster y es responsabilidad del solicitante asignar el nombre virtual al nombre físico de un nodo de clúster antes de crear una instantánea de volumen.

Para determinar si una dependencia es local o remota, el solicitante debe examinar el nombre del componente devuelto en el parámetro pbstrComponentName . Si el nombre del componente comienza por "\", el solicitante debe asumir que especifica una dependencia remota y que el primer componente que sigue a "\" es remoteComputerName especificado por el escritor. Si el nombre del componente no comienza por "\", el solicitante debe asumir que especifica una dependencia local.

Windows Server 2003: Este método no se puede usar para declarar dependencias remotas hasta Windows Server 2003 con Service Pack 1 (SP1).

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vswriter.h (incluya Vss.h, VsWriter.h)
Library VssApi.lib