Función PrepareLogArchive (clfsw32.h)

Prepara un registro físico para el archivado. La función toma una instantánea del registro activo actual, crea un conjunto ordenado de descriptores de archivo de registro para las extensiones de registro activas y devuelve un contexto de archivo de registro.

Al pasar este contexto de archivo de registro a GetNextLogArchiveExtent, un cliente puede recorrer en iteración el conjunto de extensiones de archivo de registro para archivar el registro. También puede especificar un intervalo de registros para archivar.

Sintaxis

CLFSUSER_API BOOL PrepareLogArchive(
  [in]            HANDLE                    hLog,
  [in, out]       PWSTR                     pszBaseLogFileName,
  [in]            ULONG                     cLen,
  [in, optional]  const PCLFS_LSN           plsnLow,
  [in, optional]  const PCLFS_LSN           plsnHigh,
  [out, optional] PULONG                    pcActualLength,
  [out]           PULONGLONG                poffBaseLogFileData,
  [out]           PULONGLONG                pcbBaseLogFileLength,
  [out]           PCLFS_LSN                 plsnBase,
  [out]           PCLFS_LSN                 plsnLast,
  [out]           PCLFS_LSN                 plsnCurrentArchiveTail,
  [out]           PCLFS_LOG_ARCHIVE_CONTEXT ppvArchiveContext
);

Parámetros

[in] hLog

Identificador del registro obtenido por una llamada correcta a CreateLogFile.

Este identificador puede ser el identificador de un registro dedicado o multiplexado.

[in, out] pszBaseLogFileName

Puntero a un búfer asignado por el usuario para recibir la ruta de acceso completa del registro base.

Si el búfer no es lo suficientemente grande, contiene una ruta de acceso de archivo truncada al salir y se produce un error en la función con un código de estado ERROR_BUFFER_OVERFLOW .

La longitud de la ruta de acceso del archivo se devuelve en la variable a la que apunta pcActualLength. El cliente puede volver a intentar una llamada con error con un búfer de nombres lo suficientemente grande.

[in] cLen

Tamaño del búfer pszBaseLogFileName , en caracteres anchos.

[in, optional] plsnLow

Puntero a una estructura de CLFS_LSN que especifica el número de secuencia de registro (LSN) del extremo inferior del intervalo del registro activo donde el cliente de registro necesita información de archivo de registro.

Si se omite este parámetro, el extremo inferior del intervalo tiene como valor predeterminado el LSN del final del archivo de registro.

[in, optional] plsnHigh

Puntero a una estructura de CLFS_LSN que especifica el LSN del extremo superior del intervalo del registro activo donde el cliente de registro necesita información de archivado de registros.

Si se omite este parámetro, el extremo superior del intervalo tiene como valor predeterminado el siguiente LSN que se escribirá en el registro.

[out, optional] pcActualLength

Puntero a una variable que recibe la longitud real del nombre de la ruta de acceso del registro base, en caracteres.

Si este valor es mayor que cLen, la función devuelve un estado de ERROR_BUFFER_OVERFLOW con una ruta de acceso truncada almacenada en el búfer pszBaseLogFileName y todos los demás parámetros de salida que no están establecidos en valores significativos.

[out] poffBaseLogFileData

Puntero a una variable que recibe el desplazamiento donde comienzan los metadatos en el registro base.

La extensión contigua del registro base pszBaseLogFileName representa el contenido completo de los metadatos del registro, es decir, de poffBaseLogFileData a pcbBaseLogFileLength.

[out] pcbBaseLogFileLength

Puntero a una variable que especifica la longitud exacta del registro base, en bytes.

[out] plsnBase

Puntero a una estructura de CLFS_LSN para recibir el número de secuencia de registro base (LSN) del registro activo.

[out] plsnLast

Puntero a una estructura de CLFS_LSN para recibir el LSN válido más alto en el registro activo.

[out] plsnCurrentArchiveTail

Puntero a una estructura CLFS_LSN para recibir el LSN actual del final del archivo del registro.

[out] ppvArchiveContext

Puntero a la variable que recibe un puntero a un contexto de archivo que el sistema asigna.

El contexto de archivo mantiene el estado del cursor del iterador de archivo y el contexto del identificador de registro. El cliente de archivado es responsable de liberar el contexto mediante una llamada a TerminateLogArchive.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. En la lista siguiente se identifican los posibles códigos de error:

Comentarios

Debe llamar a TerminateLogArchive para liberar el contexto de archivo o se pueden producir pérdidas de memoria.

Hasta que se llame a TerminateLogArchive, los contenedores que se archivan no se pueden reciclar.

Solo puede realizar una operación de archivo cada vez por identificador que devuelve CreateLogFile .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado clfsw32.h
Library Clfsw32.lib
Archivo DLL Clfsw32.dll

Consulte también

CLFS_LSN

Funciones comunes del sistema de archivos de registro

GetNextLogArchiveExtent

ReadLogArchiveMetadata

TerminateLogArchive