// wdm.h
typedef struct _CLS_INFORMATION {
LONGLONG TotalAvailable;
LONGLONG CurrentAvailable;
LONGLONG TotalReservation;
ULONGLONG BaseFileSize;
ULONGLONG ContainerSize;
ULONG TotalContainers;
ULONG FreeContainers;
ULONG TotalClients;
ULONG Attributes;
ULONG FlushThreshold;
ULONG SectorSize;
CLS_LSN MinArchiveTailLsn;
CLS_LSN BaseLsn;
CLS_LSN LastFlushedLsn;
CLS_LSN LastLsn;
CLS_LSN RestartLsn;
GUID Identity;
} CLS_INFORMATION, *PCLS_INFORMATION, *PPCLS_INFORMATION;
View the official Windows Driver Kit DDI referenceNo description available.
The CLFS_INFORMATION structure holds metadata and state information for a Common Log File System (CLFS) stream and/or its underlying physical log.
TotalAvailableThe total available space allocated to the log. This is calculated as the sum of the sizes of all containers in the log.
CurrentAvailableThe amount of space available in the log for new records and reservation allocations. This space is the total available space minus the undo commitment space and space used for storing owner pages in a multiplexed log.
TotalReservationThe amount of space reserved in the stream (or physical log) for undo operations.
BaseFileSizeThe size, in bytes, of the base log file.
ContainerSizeThe size, in bytes, of an individual container in the log. Note that all containers in the log are the same size.
TotalContainersThe number of containers in the log.
FreeContainersThe number of containers in the log that are not active.
TotalClientsThe number of streams that share the log.
AttributesA set of flags that specify stream (or physical log) attributes. See the fFlagsAndAttributes parameter of the ClfsCreateLogFile function.
FlushThresholdThe number of bytes of data (including headers) that are allowed to remain pending on the internal flush queue before CLFS automatically schedules a thread to write the flush queue to stable storage.
SectorSizeThe sector size, in bytes, of the underlying disk geometry. The sector size is assumed to be a multiple of 512 and consistent across containers.
MinArchiveTailLsnThe LSN of the oldest record in the log for which archiving has not taken place. The minimum of this and the base LSN determines the last container that can be reused when containers are recycled.
BaseLsnThe LSN of the oldest record in the stream (or physical log) that is still needed by the stream (or log) clients.
LastFlushedLsnThe LSN of the last record that was flushed to stable storage.
LastLsnThe LSN of the youngest record in the stream (or physical log) that is still needed by the stream (or log) clients.
RestartLsnThe LSN of the last restart record written to the stream (or physical log). If there are no restart records, this member is equal to CLFS_LSN_INVALID.
IdentityA GUID that serves as a unique identifier for the log.
The ClfsQueryLogFileInformation function returns information about a CLFS stream and/or its underlying physical log. The type of information returned depends on the eInformationClass parameter.
If the eInformationClass parameter is equal to ClfsLogBasicInformationPhysical, ClfsQueryLogFileInformation returns information in a CLFS_INFORMATION structure, and every structure member holds a piece of information about a physical CLFS log. Even if the log is multiplexed (that is, it has several streams), all structure members hold information about the underlying physical log rather than information about one of the streams.
If eInformationClass parameter is equal to ClfsLogBasicInformation, ClfsQueryLogFileInformation returns information in a CLFS_INFORMATION structure. Most of the structure members hold information about a CLFS physical log, but if the log is multiplexed, certain members hold information that is specific to a particular stream. The following structure members hold information that is specific to a stream rather than the underlying physical log: