Función WriteLogRestartArea (clfsw32.h)

Anexa un nuevo área de reinicio de cliente a un registro y, opcionalmente, avanza el número de secuencia de registro base (LSN) del registro.

Una vez que se escribe correctamente en un disco, el último LSN del registro se cambia al LSN del registro de reinicio anexado. Normalmente, las aplicaciones que guardan regularmente un buen estado usan WriteLogRestartArea y el área de reinicio contiene los LSN para las cadenas de registros existentes.

Sintaxis

CLFSUSER_API BOOL WriteLogRestartArea(
  [in, out]           PVOID        pvMarshal,
  [in]                PVOID        pvRestartBuffer,
  [in]                ULONG        cbRestartBuffer,
  [in, optional]      PCLFS_LSN    plsnBase,
  [in]                ULONG        fFlags,
  [out, optional]     PULONG       pcbWritten,
  [out, optional]     PCLFS_LSN    plsnNext,
  [in, out, optional] LPOVERLAPPED pOverlapped
);

Parámetros

[in, out] pvMarshal

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

[in] pvRestartBuffer

Puntero a un búfer que contiene datos de reinicio.

[in] cbRestartBuffer

Tamaño de pvRestartBuffer, en bytes.

[in, optional] plsnBase

Puntero a una estructura de CLFS_LSN que especifica el nuevo LSN base del registro después de escribir correctamente el área de reinicio.

Este valor no puede estar fuera del intervalo del registro activo. Debe ser al menos el valor del LSN base actual y no mayor que el LSN que se devolvió en el parámetro lastLSN de la última llamada a ReserveAndAppendLog. Si omite este parámetro opcional, el LSN base no cambia.

[in] fFlags

Marcas que especifican el comportamiento de esta función.

Se pueden combinar uno o varios de los valores siguientes.

Valor Significado
CLFS_FLAG_NO_FLAGS
No asigna ninguna marca.
CLFS_FLAG_USE_RESERVATION
Anexa el registro actual mediante el espacio reservado en el área de cálculo de referencias.

[out, optional] pcbWritten

Puntero a una variable que recibe el número de bytes que se escriben cuando se completa una operación.

[out, optional] plsnNext

Puntero a una estructura de CLFS_LSN que especifica el LSN del área de reinicio que se escribe.

[in, out, optional] pOverlapped

Puntero a una estructura OVERLAPPED.

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

WriteLogRestartArea provoca un vaciado de todos los registros almacenados en búfer actuales y un vaciado de los metadatos del registro.

Si un cliente llama a WriteLogRestartArea en un registro que se crea para admitir operaciones asincrónicas (por ejemplo, si el parámetro fFlagsAndAttributes de CreateLogFile se establece en FILE_FLAG_OVERLAPPED cuando se crea el registro), el cliente debe proporcionar un puntero a una estructura SUPERPUESTA válida en el parámetro pOverlapped de WriteLogRestartArea.

A continuación, si WriteLogRestartArea produce un 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 llamada, el cliente debe sincronizar su ejecución con la finalización diferida de la operación de E/S superpuesta mediante GetOverlappedResult o una de las funciones de espera de sincronización. Para obtener más información, vea Sincronización y entrada y salida superpuestas.

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

OVERLAPPED