Compartir a través de


Método IVssBackupComponents::AddComponent (vsbackup.h)

El método AddComponent se usa para agregar explícitamente al conjunto de copia de seguridad en el documento componentes de copia de seguridad todos los componentes necesarios (no seleccionables para los componentes de copia de seguridad sin que se pueda seleccionar para el antecesor de copia de seguridad) y componentes opcionales (seleccionables para copia de seguridad) a medida que el solicitante considera necesario. Los miembros de los conjuntos de componentes (componentes con un elemento seleccionable para el antecesor de copia de seguridad) se incluyen implícitamente en el conjunto de copia de seguridad, pero no se agregan explícitamente al documento componentes de copia de seguridad.

Sintaxis

HRESULT AddComponent(
  [in] VSS_ID             instanceId,
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName
);

Parámetros

[in] instanceId

Identifica una instancia específica de un escritor.

[in] writerId

Identificador de clase de escritor.

[in] ct

Identifica el tipo del componente. Consulte la documentación de VSS_COMPONENT_TYPE para conocer los valores de entrada permitidos.

[in] wszLogicalPath

Cadena de caracteres anchos terminada en NULL que contiene la ruta de acceso lógica del componente de copia de seguridad seleccionable. Para obtener más información, consulte Ruta de acceso lógica de componentes.

No se requiere una ruta de acceso lógica al agregar un componente. Por lo tanto, el valor de este parámetro puede ser NULL.

No hay restricciones en los caracteres que pueden aparecer en una ruta lógica que no sea NULL .

[in] wszComponentName

Cadena de caracteres anchos terminada en NULL que contiene el nombre del componente de copia de seguridad seleccionable.

El valor de este parámetro no puede ser NULL.

No hay restricciones en los caracteres que pueden aparecer en una ruta lógica que no sea NULL .

Valor devuelto

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

Valor Significado
S_OK
Se agregó correctamente el componente.
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_BAD_STATE
El objeto de componentes de copia de seguridad no se inicializa, se ha llamado a este método durante una operación de restauración o no se ha llamado a este método dentro de la secuencia correcta.
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_ALREADY_EXISTS
El objeto es un duplicado. Ya existe un componente con la misma ruta de acceso lógica y nombre de componente.
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

El método AddComponent solo tiene significado si la operación de copia de seguridad tiene lugar en modo de componente.

Solo estos tipos de componentes se deben agregar al documento componentes de copia de seguridad mediante AddComponent.

Los componentes no seleccionables para los componentes de copia de seguridad que tienen un elemento seleccionable para el antecesor de copia de seguridad en la jerarquía de sus rutas lógicas forman parte de un conjunto de componentes definido por el que se puede seleccionar para el antecesor de copia de seguridad. Estos componentes se agregan implícitamente al documento componentes de copia de seguridad cuando se agrega el antecesor y nunca se deben agregar explícitamente al documento de componentes de copia de seguridad de un solicitante mediante AddComponent. El resultado de hacerlo no está definido (consulte Trabajar con la capacidad de selección y las rutas de acceso lógicas).

Los componentes de copia de seguridad con seleccionables para los antecesores de copia de seguridad también son subcomponentes en un conjunto de componentes. Se pueden seleccionar implícitamente si se selecciona su antecesor (en cuyo caso no se agregan al documento componentes de copia de seguridad mediante AddComponent), o bien se pueden seleccionar explícitamente mediante AddComponent.

La combinación de ruta de acceso lógica y nombre para cada componente de una instancia determinada de una clase determinada de escritor debe ser única. Al intentar llamar a AddComponent dos veces con los mismos valores de wszLogicalPath y wszComponentName , se produce un error de VSS_E_OBJECT_ALREADY_EXISTS.

La distinción entre instanceId y writerID es necesaria porque es posible ejecutar varias copias para el mismo escritor.

Se puede encontrar el identificador de clase y la instancia de un escritor llamando a IVssExamineWriterMetadata::GetIdentity.

Antes de llamar a AddComponent, un solicitante debe haberse inicializado para la copia de seguridad llamando a IVssBackupComponents::InitializeForBackup e IVssBackupComponents::GatherWriterMetadata. Consulte Información general sobre la inicialización de copia de seguridad.

El solicitante debe llamar a AddComponent para agregar los componentes necesarios a la instantánea antes de llamar a IVssBackupComponents::D oSnapshotSet para crear la instantánea. Consulte Información general sobre la fase de detección de copias de seguridad e información general sobre las tareas previas a la copia de seguridad.

Requisitos

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

Consulte también

CVssWriter::Initialize

IVssBackupComponents

IVssBackupComponents::P repareForBackup

IVssExamineWriterMetadata::GetIdentity

VSS_COMPONENT_TYPE