Método IVssComponent::AddDifferencedFilesByLastModifyTime (vswriter.h)

Un escritor usa el método AddDifferencedFilesByLastModifyTime para indicar que se debe evaluar un conjunto de archivos (un archivo o archivos especificado) con una marca de tiempo de última modificación para su inclusión en una copia de seguridad incremental o diferencial con marca de tiempo mediante archivos completos, no archivos parciales.

Un escritor solo puede llamar a este método durante una operación de copia de seguridad.

Sintaxis

HRESULT AddDifferencedFilesByLastModifyTime(
  [in] LPCWSTR  wszPath,
  [in] LPCWSTR  wszFilespec,
  [in] BOOL     bRecursive,
  [in] FILETIME ftLastModifyTime
);

Parámetros

[in] wszPath

Cadena de caracteres anchos terminada en NULL que contiene el nombre del directorio o la jerarquía de directorios que contiene los archivos que se van a asignar.

La ruta de acceso puede contener variables de entorno (por ejemplo, %SystemRoot%) pero no puede contener caracteres comodín.

No es necesario que la ruta de acceso termine con una barra diagonal inversa (""). Es necesario que las aplicaciones recuperen esta información para comprobarla.

[in] wszFilespec

Cadena de caracteres anchos terminada en NULL que contiene la especificación de archivo de los archivos que se van a asignar.

Una especificación de archivo no puede contener especificaciones de directorio (por ejemplo, sin barras diagonales inversas), pero puede contener ? y * caracteres comodín.

[in] bRecursive

Valor booleano que especifica si la ruta de acceso especificada por el parámetro wszPath identifica solo un único directorio o si indica una jerarquía de directorios que se va a recorrer de forma recursiva. Este parámetro debe establecerse en true si la ruta de acceso se trata como una jerarquía de directorios que se recorrerá de forma recursiva o false si no es así .

Para obtener información sobre cómo recorrer carpetas montadas, vea Trabajar con carpetas montadas y puntos de reanálisis.

[in] ftLastModifyTime

Especificación del escritor de la hora de la última modificación de los archivos de diferencia, expresados como una estructura FILETIME .

La hora de última modificación siempre se da en hora media de Greenwich.

Valor devuelto

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

Valor Significado
S_OK
Se agregaron archivos con diferencias 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_BAD_STATE
Un escritor no llamó a este método o, si lo llama un escritor, no se llamó durante una operación de copia de seguridad o se llamó al controlar un evento BackupComplete o BackupShutdown .
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_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

Un escritor llama a este método para especificar que se debe realizar una copia de seguridad de determinados archivos de un componente solo si se han modificado desde un momento determinado. Para obtener más información, vea Copia de seguridad por hora de última modificación.

Solo los escritores que admiten el esquema modificado (VSS_BS_LAST_MODIFY) pueden llamar a este método y solo durante las operaciones de copia de seguridad. Los escritores que usan este método no tienen que admitir el esquema de marca de tiempo (VSS_BS_TIMESTAMPED).

Los archivos agregados por AddDifferencedFilesByLastModifyTime no deben agregarse también por IVssComponent::AddPartialFile.

Si el tipo de copia de seguridad (VSS_BACKUP_TYPE) es incremental (VSS_BT_INCREMENTAL), los escritores que usan AddDifferencedFilesByLastModifyTime deben admitir el esquema incremental (VSS_BS_INCREMENTAL). Si el tipo de copia de seguridad es diferencial, el escritor debe admitir el esquema de VSS_BS_DIFFERENTIAL .

Se debe llamar al método AddDifferencedFilesByLastModifyTime antes del inicio real de una operación de copia de seguridad, normalmente mientras se controla el evento PostSnapshot (consulte CVssWriter::OnPostSnapshot).

Si el valor de marca de tiempo establecido por AddDifferencedFilesByLastModifyTime es distinto de cero, un solicitante debe respetar este valor independientemente de sus propios registros e información del sistema de archivos al determinar si el archivo diferenciado debe incluirse en una copia de seguridad diferencial o incremental.

Si la marca de tiempo establecida por AddDifferencedFilesByLastModifyTime (ftLastModifyTime) es cero, el solicitante puede usar información del sistema de archivos y sus propios registros para determinar si los archivos diferenciados deben incluirse en una copia de seguridad diferencial o incremental.

Los solicitantes recuperan el número de archivos diferenciados administrados por un componente mediante una llamada a IVssComponent::GetDifferencedFile.

Los conjuntos de archivos con diferencias pueden ser cualquiera de los siguientes:

  • Miembro del componente actual o (si el componente define un conjunto de componentes) sus subcomponentes
  • Nuevos archivos no incluidos anteriormente en los componentes o subcomponentes. El método AddDifferencedFilesByLastModifyTime permite a los escritores indicar que los archivos creados desde la copia de seguridad original deben incluirse en el componente para admitir copias de seguridad incrementales o diferenciales.
Al hacer referencia a archivos que ya forman parte del componente, la combinación de ruta de acceso, especificación de archivo y marca de recursividad (wszPath, wszFileSpec y bRecursive, respectivamente) proporcionada a AddDifferencedFilesByLastModifyTime debe coincidir con la de uno de los conjuntos de archivos agregados a un componente por IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles o IVssCreateWriterMetadata::AddDatabaseLogFiles.

Al agregar nuevos archivos al componente , AddDifferencedFilesByLastModifyTime, el escritor no debe agregar archivos administrados por otro componente o escritor.

No hay ningún método en la interfaz IVssComponent que permita cambiar o agregar asignaciones de ubicación alternativas para los nuevos archivos agregados por AddDifferencedFilesByLastModifyTime. Si una asignación de ubicación alternativa corresponde al nuevo archivo, se usará esa ubicación alternativa.

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

Consulte también

CVssWriter::OnPostSnapshot

IVssComponent

IVssComponent::GetDifferencedFile

IVssComponent::GetDifferencedFilesCount

Copias de seguridad incrementales y diferenciales

VSS_BACKUP_SCHEMA

VSS_BACKUP_TYPE

VSS_FILE_SPEC_BACKUP_TYPE