Función ReadNextLogRecord (clfsw32.h)
Lee el siguiente registro en una secuencia iniciada por una llamada a ReadLogRecord o ReadLogRestartArea. Con ReadNextLogRecord de forma iterativa, un cliente puede leer todos los registros de un tipo especificado en un registro. La dirección de la enumeración se determina especificando el modo de contexto al iniciar la secuencia de lectura.
Sintaxis
CLFSUSER_API BOOL ReadNextLogRecord(
[in, out] PVOID pvReadContext,
[out] PVOID *ppvBuffer,
[out] PULONG pcbBuffer,
[in, out] PCLFS_RECORD_TYPE peRecordType,
[in, optional] PCLFS_LSN plsnUser,
[out] PCLFS_LSN plsnUndoNext,
[out] PCLFS_LSN plsnPrevious,
[out] PCLFS_LSN plsnRecord,
[in, out, optional] LPOVERLAPPED pOverlapped
);
Parámetros
[in, out] pvReadContext
Puntero a un contexto de lectura que el sistema asigna y crea durante una llamada correcta a ReadLogRecord o ReadLogRestartArea.
Si la función aplaza la finalización de una operación, devuelve un puntero a un contexto de lectura válido y un estado de error de ERROR_IO_PENDING. Para obtener información sobre cómo controlar la finalización asincrónica, vea la sección Comentarios de este tema.
[out] ppvBuffer
Puntero a una variable que recibe un puntero a los datos de lectura.
[out] pcbBuffer
Puntero a una variable que recibe el tamaño de los datos de lectura que se devuelven en ppvReadBuffer, en bytes.
[in, out] peRecordType
Puntero que, en la entrada, especifica el filtro de tipo de registro de la siguiente lectura del registro y, en la salida, especifica el tipo de registro que se devuelve.
Los clientes pueden especificar cualquiera de los siguientes tipos de registro.
[in, optional] plsnUser
Puntero a una estructura de CLFS_LSN que especifica el cliente de registro para leer este número de secuencia de registro (LSN) como el siguiente LSN en lugar de leer el siguiente registro, leer el LSN anterior o leer el siguiente LSN de deshacer.
Este parámetro proporciona a los clientes de registro la capacidad de cursor a través de cadenas LSN definidas por el usuario en búferes de cliente. La relación de este parámetro con el LSN actual mantenido por el contexto de lectura debe ser coherente con el modo de contexto, ecxMode, especificado en los puntos de entrada ReadLogRecord ; De lo contrario, se devuelve un código de error de ERROR_INVALID_PARAMETER .
[out] plsnUndoNext
Puntero a una estructura de CLFS_LSN que recibe el LSN del siguiente registro en una cadena de registros deshacer.
[out] plsnPrevious
Puntero a una estructura de CLFS_LSN que recibe el LSN del siguiente registro de la cadena de registros anterior.
[out] plsnRecord
Puntero a una estructura de CLFS_LSN que recibe el LSN del registro actual leído en el contexto de lectura.
[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
Si ReadNextLogRecord devuelve con un código de estado de ERROR_IO_PENDING, 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.
Una vez que ReadNextLogRecord se completa de forma asincrónica, el registro solicitado se lee desde el disco, pero no se resuelve en un puntero de *ppvReadBuffer. Para obtener un puntero válido al registro, el cliente debe llamar a ReadNextLogRecord 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 |