TXFS_QUERY_RM_INFORMATION structure

[Microsoft strongly recommends developers utilize alternative means to achieve your application’s needs. Many scenarios that TxF was developed for can be achieved through simpler and more readily available techniques. Furthermore, TxF may not be available in future versions of Microsoft Windows. For more information, and alternatives to TxF, please see Alternatives to using Transactional NTFS.]

Contains information about the resource manager (RM).

Syntax


typedef struct _TXFS_QUERY_RM_INFORMATION {
  ULONG         BytesRequired;
  ULONGLONG     TailLsn;
  ULONGLONG     CurrentLsn;
  ULONGLONG     ArchiveTailLsn;
  ULONGLONG     LogContainerSize;
  LARGE_INTEGER HighestVirtualClock;
  ULONG         LogContainerCount;
  ULONG         LogContainerCountMax;
  ULONG         LogContainerCountMin;
  ULONG         LogGrowthIncrement;
  ULONG         LogAutoShrinkPercentage;
  ULONG         Flags;
  USHORT        LoggingMode;
  USHORT        Reserved;
  ULONG         RmState;
  ULONGLONG     LogCapacity;
  ULONGLONG     LogFree;
  ULONGLONG     TopsSize;
  ULONGLONG     TopsUsed;
  ULONGLONG     TransactionCount;
  ULONGLONG     OnePCCount;
  ULONGLONG     TwoPCCount;
  ULONGLONG     NumberLogFileFull;
  ULONGLONG     OldestTransactionAge;
  GUID          RMName;
  ULONG         TmLogPathOffset;
} TXFS_QUERY_RM_INFORMATION, *PTXFS_QUERY_RM_INFORMATION;

Members

BytesRequired

If FSCTL_TXFS_QUERY_RM_INFORMATION returns ERROR_BUFFER_TOO_SMALL, this member specifies the minimum number of bytes needed to return the information requested, including the NULL terminating character.

TailLsn

The oldest log sequence number (LSN) currently used by the RM.

CurrentLsn

The LSN most recently used by the RM in its log.

ArchiveTailLsn

The LSN of the archive tail of the log.

LogContainerSize

The actual size of a log container, in bytes.

HighestVirtualClock

The highest timestamp associated with a log record.

LogContainerCount

The number of log containers.

LogContainerCountMax

The maximum number of log containers.

LogContainerCountMin

The minimum number of containers allowed in the log.

LogGrowthIncrement

The amount the log will grow by, which is either a number of containers or percentage of the log size; the growth type used is specified by the flags set in Flags member.

LogAutoShrinkPercentage

If the auto-shrink policy is active, this member specifies the maximum allowable amount of free space in the log. If this member is zero, the auto-shrink policy is not active.

Flags

This member can be one or more of the following values.

ValueMeaning
TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN
0x00000008

If the flag is set, the RM's log is allowed to shrink as far as possible. This flag is mutually exclusive with TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX.

TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS
0x00000010

Indicates the type of value in LogGrowthIncrement. If this flag is set, LogGrowthIncrement is a number of containers. This flag is mutually exclusive with TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT.

TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT
0x00000020

Indicates the type of value in LogGrowthIncrement. If this flag is set, LogGrowthIncrement is a percentage. This flag is mutually exclusive with TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS.

TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX
0x00000080

Indicates that the RM's log can grow without bounds. This flag is mutually exclusive with TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN.

TXFS_RM_FLAG_RESET_RM_AT_NEXT_START
0x00004000

Indicates the current state of the RM reset flag. If this is set, the RM will reset itself the next time it is started. This flag is only valid for default RMs, not secondary RMs. This flag is mutually exclusive with TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START.

TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START
0x00008000

Indicates the current state of the RM reset flag. If this is set, the RM will not reset itself the next time it is started. This flag is only valid for default RMs, not secondary RMs. This flag is mutually exclusive with TXFS_RM_FLAG_RESET_RM_AT_NEXT_START.

TXFS_RM_FLAG_PREFER_CONSISTENCY
0x00010000

Indicates that the RM is to prefer transaction consistency over system availability. This flag is mutually exclusive with TXFS_RM_FLAG_PREFER_AVAILABILITY and is not supported by the default RM on the system volume.

TXFS_RM_FLAG_PREFER_AVAILABILITY
0x00020000

Indicates that the RM is to prefer system availability over transaction consistency. This flag is mutually exclusive with TXFS_RM_FLAG_PREFER_CONSISTENCY and is forced by the default RM on the system volume.

 

LoggingMode

The current logging mode.

ValueMeaning
TXFS_LOGGING_MODE_SIMPLE
1

Simple logging is used.

TXFS_LOGGING_MODE_FULL
2

Full logging is used

 

Reserved

Reserved.

RmState

The state of the RM. Valid values are as follows.

ValueMeaning
TXFS_RM_STATE_NOT_STARTED
0

The RM is not yet started.

TXFS_RM_STATE_STARTING
1

The RM is starting.

TXFS_RM_STATE_ACTIVE
2

The RM is active and ready to accept transactions.

TXFS_RM_STATE_SHUTTING_DOWN
3

The RM is shutting down.

 

LogCapacity

The total capacity of the log, in bytes.

LogFree

The number of bytes free in the log.

TopsSize

The size of the $Tops file, in bytes.

TopsUsed

The amount of the $Tops file that is in use, in bytes.

TransactionCount

The number of active transactions, at the time the query was issued.

OnePCCount

The number of single-phase commit operations that have occurred on this RM.

TwoPCCount

The number of two-phase commit operations that have occurred on this RM.

NumberLogFileFull

The number of times this RM's log has become full.

OldestTransactionAge

The length of the oldest active transaction, in milliseconds.

RMName

The GUID that indicates the name of this RM.

TmLogPathOffset

The offset from the beginning of this structure to a NULL-terminated Unicode string that contains the path to the TM's log.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

WinIoCtl.h (include Windows.h)

See also

TxF Structures
FSCTL_TXFS_QUERY_RM_INFORMATION

 

 

Show: