Función ReadPreviousLogRestartArea (clfsw32.h)
Lee el área de reinicio del registro anterior relativa al registro de reinicio actual especificado en el contexto de lectura, pvReadContext. Este contexto de lectura es el creado anteriormente por una llamada a ReadLogRestartArea.
Sintaxis
CLFSUSER_API BOOL ReadPreviousLogRestartArea(
[in] PVOID pvReadContext,
[out] PVOID *ppvRestartBuffer,
[out] PULONG pcbRestartBuffer,
[out] PCLFS_LSN plsnRestart,
[in, out, optional] LPOVERLAPPED pOverlapped
);
Parámetros
[in] pvReadContext
Puntero a un contexto de lectura asignado por el sistema que readLogRestartArea devuelve.
Incluso cuando esas funciones devuelven ERROR_IO_PENDING, siguen devolviendo un puntero a un contexto de lectura válido. Para obtener información sobre la finalización asincrónica, vea la sección Comentarios de este tema.
[out] ppvRestartBuffer
Puntero a una variable que recibe un puntero a los datos de reinicio.
[out] pcbRestartBuffer
Puntero a una variable que recibe el tamaño de los datos de reinicio en *ppvRestartBuffer, en bytes.
[out] plsnRestart
Puntero a una estructura de CLFS_LSN que recibe el número de secuencia de registro (LSN) del área de reinicio que devuelve esta función.
[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 la 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.
Si Se produce un error en ReadPreviousLogRestartArea 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 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.
Una vez que ReadPreviousLogRestartArea 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 una segunda 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_READ.
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 |