ClfsAdvanceLogBase routine

The ClfsAdvanceLogBase routine sets the base LSN of a CLFS stream.


NTSTATUS ClfsAdvanceLogBase(
  _Inout_ PVOID     pvMarshalContext,
  _In_    PCLFS_LSN plsnBase,
  _In_    ULONG     fFlags


pvMarshalContext [in, out]

A pointer to an opaque context that represents a marshalling area associated with a CLFS stream. The caller previously obtained this pointer by calling ClfsCreateMarshallingArea.

plsnBase [in]

A pointer to a CLFS_LSN structure that contains the new base LSN. This parameter must be the LSN of one of the records in the stream. Also, this parameter must be greater than or equal to the stream's current base LSN and less than or equal to the stream's current last LSN.

fFlags [in]

This parameter is reserved for system use. Callers must set this parameter to zero.

Return value

ClfsAdvanceLogBase returns STATUS_SUCCESS if it succeeds; otherwise, it returns one of the error codes defined in Ntstatus.h.


ClfsAdvanceLogBase does not write any records to the CLFS log; the only updates to the log are in the metadata. If you want to update the base LSN and write a restart record to a stream at the same time, call ClfsWriteRestartArea.

Whenever possible, CLFS avoids writing queued log records that have LSNs less than the new base LSN to stable storage.

ClfsAdvanceLogBase does not check to see whether the LSN supplied in plsnBase is actually the LSN of one of the records in the stream. If the caller sets plsnBase to an LSN that is not the LSN of one of the records in the stream, the stream's base LSN will be set to a meaningless value.

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


Target platform


Available in Windows Server 2003 R2, Windows Vista, and later versions of Windows.


Wdm.h (include Wdm.h)







See also




Send comments about this topic to Microsoft