Función ReadLogRestartArea (clfsw32.h)

Devuelve el último área de reinicio que se escribe correctamente en el registro asociado al área de cálculo de referencias de WriteLogRestartArea. La función también devuelve un contexto de lectura que permite al autor de la llamada desplazarse hacia atrás o hacia delante a través de un registro del registro de reinicio.

Este contexto de lectura es útil cuando se examinan áreas de reinicio anteriores a la actual invocando ReadPreviousLogRestartArea.

Sintaxis

CLFSUSER_API BOOL ReadLogRestartArea(
  [in]                PVOID        pvMarshal,
  [out]               PVOID        *ppvRestartBuffer,
  [out]               PULONG       pcbRestartBuffer,
  [out]               PCLFS_LSN    plsn,
  [out]               PVOID        *ppvContext,
  [in, out, optional] LPOVERLAPPED pOverlapped
);

Parámetros

[in] pvMarshal

Puntero a un contexto de serialización asignado mediante la función CreateLogMarshallingArea .

[out] ppvRestartBuffer

Puntero a una variable que recibe un puntero a los datos de reinicio en el bloque de E/S de registro.

[out] pcbRestartBuffer

Puntero a una variable que recibe la cantidad de datos de reinicio.

[out] plsn

Puntero a una estructura CLFS_LSN que recibe el número de secuencia de registro (LSN) del área de reinicio.

[out] ppvContext

Puntero a una variable que recibe un puntero a un contexto de lectura asignado por el sistema cuando una lectura se realiza correctamente.

Si la función aplaza la finalización de una operación, devuelve un puntero de contexto de lectura válido y un estado de error de ERROR_IO_PENDING. En todos los demás errores, el puntero de contexto de lectura es NULL. Para obtener más información sobre cómo controlar la finalización diferida de la función, vea la sección Comentarios de este tema.

Después de obtener todos los registros de registro solicitados, el cliente debe pasar el contexto de lectura a TerminateReadLog para liberar la memoria asociada. Si no lo hace, se produce una pérdida de memoria.

Nota Los contextos de lectura comunes del Sistema de archivos de registro (CLFS) no son seguros para subprocesos. No deben usarse en más de un subproceso a la vez o pasarse a más de una lectura asincrónica a la vez.
 

[in, out, optional] pOverlapped

Puntero a una estructura SUPERPUESTA necesaria para la operación asincrónica.

Este parámetro puede ser NULL si no se usa una operación asincrónica.

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

El mensaje de error ERROR_LOG_BLOCK_INCOMPLETE se devuelve si el tamaño del bloque de registro especificado por CreateLogMarshallingArea no es lo suficientemente grande como para contener un bloque de registro completo.

Normalmente, ReadLogRestartArea solo se usa durante el reinicio del cliente, ya sea después de un bloqueo o después de un apagado normal.

Si no hay ningún área de reinicio en el registro, ReadLogRestartArea produce un error con el código ERROR_LOG_NO_RESTART.

Si Se produce un error en ReadLogRestartArea con un código de error de ERROR_IO_PENDING, se coloca un puntero a un contexto de lectura válido en la variable a la que apunta el parámetro ppvReadContext .

Para completar la copia de registro de registro, el cliente debe sincronizar primero su ejecución con la finalización diferida de la operación de E/S superpuesta llamando a GetOverlappedResult o a una de las funciones de espera de sincronización. Para obtener más información, vea Sincronización y entrada y salida superpuestas.

Una vez que ReadLogRestartArea se completa de forma asincrónica, el área de reinicio solicitada se lee desde el disco, pero no se coloca un puntero válido en *ppvRestartBuffer.

Para obtener un puntero válido, el cliente debe llamar a ReadPreviousLogRestartArea, que pasa el puntero de contexto de lectura devuelto por ReadLogRestartArea.

Nota Los contextos de lectura comunes del Sistema de archivos de registro (CLFS) no son seguros para subprocesos. No deben ser utilizados por más de un subproceso a la vez.

Los contextos de lectura de CLFS no deben pasarse a más de una lectura asincrónica a la vez o se produce un error en la función con ERROR_BUSY.

 

Requisitos

   
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

CreateLogFile

OVERLAPPED

ReadPreviousLogRestartArea

Sincronización y entrada y salida superpuestas

WriteLogRestartArea