ClfsReadPreviousRestartArea function

The ClfsReadPreviousRestartArea routine reads the previous restart record relative to the current record in a read context.


CLFSUSER_API NTSTATUS ClfsReadPreviousRestartArea(
  PVOID     pvReadContext,
  PVOID     *ppvRestartBuffer,
  PULONG    pcbRestartBuffer,
  PCLFS_LSN plsnRestart



A pointer to a read context obtained by a previous call to ClfsReadRestartArea.


A pointer to a variable that receives a pointer to the data buffer of the restart record that is read.


A pointer to a ULONG-typed variable that receives the size, in bytes, of the buffer pointed to by *ppvRestartBuffer. This is the length of the data buffer of the restart record that is read.


A pointer to a CLFS_LSN structure that receives the previous LSN of the restart record that was read.

Return Value

ClfsReadPreviousRestartArea returns STATUS_SUCCESS if it succeeds; otherwise, it returns one of the error codes defined in Ntstatus.h. If there are no previous restart areas, the return value is STATUS_LOG_START_OF_LOG.


For an explanation of CLFS concepts and terminology, see Common Log File System.

For information about reading records from CLFS streams, see Reading Data Records from a CLFS Stream and Reading Restart Records from a CLFS Stream.

Read contexts are not thread-safe. Clients are responsible for serializing access to read contexts.

Clients append restart records to a CLFS log by calling ClfsWriteRestartArea.

With the ReadPreviousLogRestartArea routine, clients can implement a form of fuzzy checkpointing. For example, the checkpoint state could consist of the log records delimited by two or more restart records.


Minimum supported client Available in Windows Server 2003 R2, Windows Vista, and later versions of Windows.
Target Platform Desktop
Header wdm.h (include Wdm.h)
Library Clfs.lib
DLL Clfs.sys

See Also