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 |