Common Log File System Functions
The following functions are used to manage logs.
Function | Description |
---|---|
AlignReservedLog | Calculates the sector-aligned reservation size for a set of records. |
AllocReservedLog | Allocates sector-aligned space for a set of reserved records. |
CloseAndResetLogFile | Resets the log file and then shuts the log. |
CreateLogFile | Creates or opens a log. |
DeleteLogByHandle | Marks the specified log for deletion. |
DeleteLogFile | Marks a log for deletion. |
DumpLogRecords | Scans a specified log, filters log records based on record type, and places the records in an output file stream that the caller opens. |
FlushLogBuffers | Forces all records that are appended to this marshaling area to be flushed to disk. |
FlushLogToLsn | Forces all records that are appended to this marshaling area up to the record with the specified log sequence number (LSN) to be flushed to the disk. |
FreeReservedLog | Reduces the number of reserved log records in a marshaling area made by calling ReserveAndAppendLog, ReserveAndAppendLogAligned, or AllocReservedLog. |
GetLogFileInformation | Returns a buffer that contains metadata about a specified log and its current state, as defined by the CLFS_INFORMATION structure. |
GetLogIoStatistics | Retrieves log I/O statistics for a dedicated or multiplexed log that is associated with the specified handle. |
ReadLogRecord | Initiates a sequence of reads from a specified log sequence number (LSN) in one of three modes, and returns the first of the specified log records and a read context. |
ReadNextLogRecord | Reads the next record in a sequence that is initiated by a call to ReadLogRecord or ReadLogRestartArea. |
ReserveAndAppendLog | Reserves space for log buffers, appends a log record to the log, or does both. |
ReserveAndAppendLogAligned | Reserves space for log buffers, appends a log record to the log, or both. This function is like ReserveAndAppendLog, but ReserveAndAppendLogAligned aligns the write entries of the record to the specified byte alignment. |
SetEndOfLog | This function has been deprecated. Use TruncateLog instead. |
TerminateReadLog | Terminates a read context. This function frees system-allocated resources that are associated with the specified read context. |
TruncateLog | Truncates the log. |
The following functions are used to manage containers.
Function | Description |
---|---|
AddLogContainer | Adds a container to the physical log that is associated with the log handle, if the calling process has write access to the .blf file and the ability to create files in the target directory of the container. |
AddLogContainerSet | Adds multiple log containers to the physical log that is associated with the log handle, if the calling process has access to the log handle. |
CreateLogContainerScanContext | Creates a scan context to use with ScanLogContainers to enumerate all log containers that are associated with a log, and performs the first scan. |
GetLogContainerName | Retrieves the full path name of a container when given its container identifier. |
RemoveLogContainer | Removes a single container from a log that is associated with a dedicated or multiplexed log handle. |
RemoveLogContainerSet | Removes multiple containers from a log that is associated with a dedicated or multiplexed log handle. |
ScanLogContainers | Enumerates log containers. Call this function repeatedly to iterate over all log containers. |
The following functions are used for crash restart.
Function | Description |
---|---|
AdvanceLogBase | Advances the base log sequence number (LSN) of a log stream to the specified LSN. |
ReadLogRestartArea | Returns the last restart area that was written successfully to the log associated with the marshaling area of WriteLogRestartArea. The function also returns a read context that allows the caller to cursor backward or forward through the log from the restart record. |
ReadPreviousLogRestartArea | Reads the previous log restart area that is relative to the current restart record specified in the read context. |
WriteLogRestartArea | Appends a new client restart area to a log and optionally advances the base log sequence number (LSN) of the log. |
The following functions are used for archiving.
Function | Description |
---|---|
GetNextLogArchiveExtent | Retrieves the next set of archive extents in a log archive context. |
PrepareLogArchive | Prepares a physical log for archiving. |
ReadLogArchiveMetadata | Copies a range of the archive view of the metadata to the specified buffer. |
SetLogArchiveMode | Enables or disables log archive support for a specified log. |
SetLogArchiveTail | Sets the last archived log sequence number (LSN) or archive tail of an archivable log. |
TerminateLogArchive | Deallocates system resources that are allocated originally for a log archive context by PrepareLogArchive. |
ValidateLog | Validates the consistency of the log metadata and data before log archive and after log restore. |
The following functions are used for marshaling.
Function | Description |
---|---|
CreateLogMarshallingArea | Creates a marshaling area for a log, and when successful it returns a marshaling context. |
DeleteLogMarshallingArea | Deletes a marshaling area that is created by a successful call to CreateLogMarshallingArea. |
The following functions are used to work with LSNs.
Function | Description |
---|---|
LsnBlockOffset | Returns the sector-aligned block offset that is contained in the specified LSN. |
LsnContainer | Retrieves the logical container ID that is contained in a specified LSN. |
LsnCreate | Creates a log sequence number (LSN), given a container ID, a block offset, and a record sequence number. |
LsnEqual | Determines whether two LSNs from the same stream are equal. |
LsnGreater | Determines whether one LSN is greater than another LSN. The two LSNs must be from the same stream. |
LsnLess | Determines whether one LSN is less than another LSN. The two LSNs must be from the same stream. |
LsnNull | Determines whether a specified LSN is equal to the smallest possible LSN, which is CLFS_LSN_NULL. |
LsnRecordSequence | Retrieves the record sequence number that is contained in a specified LSN. |