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 |
---|---|
|
No asigna ninguna marca. |
|
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 |