// winioctl.h
typedef struct _TXFS_QUERY_RM_INFORMATION {
DWORD BytesRequired;
DWORDLONG TailLsn;
DWORDLONG CurrentLsn;
DWORDLONG ArchiveTailLsn;
DWORDLONG LogContainerSize;
LARGE_INTEGER HighestVirtualClock;
DWORD LogContainerCount;
DWORD LogContainerCountMax;
DWORD LogContainerCountMin;
DWORD LogGrowthIncrement;
DWORD LogAutoShrinkPercentage;
DWORD Flags;
WORD LoggingMode;
WORD Reserved;
DWORD RmState;
DWORDLONG LogCapacity;
DWORDLONG LogFree;
DWORDLONG TopsSize;
DWORDLONG TopsUsed;
DWORDLONG TransactionCount;
DWORDLONG OnePCCount;
DWORDLONG TwoPCCount;
DWORDLONG NumberLogFileFull;
DWORDLONG OldestTransactionAge;
GUID RMName;
DWORD TmLogPathOffset;
} TXFS_QUERY_RM_INFORMATION, *PTXFS_QUERY_RM_INFORMATION;
View the official Win32 API referenceNo description available.
[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).
BytesRequiredIf 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.
TailLsnThe oldest log sequence number (LSN) currently used by the RM.
CurrentLsnThe LSN most recently used by the RM in its log.
ArchiveTailLsnThe LSN of the archive tail of the log.
LogContainerSizeThe actual size of a log container, in bytes.
HighestVirtualClockThe highest timestamp associated with a log record.
LogContainerCountThe number of log containers.
LogContainerCountMaxThe maximum number of log containers.
LogContainerCountMinThe minimum number of containers allowed in the log.
LogGrowthIncrementThe 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.
LogAutoShrinkPercentageIf 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.
FlagsThis member can be one or more of the following values.
| Value | Meaning |
|---|---|
| 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. |
LoggingModeThe current logging mode.
| Value | Meaning |
|---|---|
| TXFS_LOGGING_MODE_SIMPLE 1 |
Simple logging is used. |
| TXFS_LOGGING_MODE_FULL 2 |
Full logging is used |
ReservedReserved.
RmStateThe state of the RM. Valid values are as follows.
| Value | Meaning |
|---|---|
| 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. |
LogCapacityThe total capacity of the log, in bytes.
LogFreeThe number of bytes free in the log.
TopsSizeThe size of the $Tops file, in bytes.
TopsUsedThe amount of the $Tops file that is in use, in bytes.
TransactionCountThe number of active transactions, at the time the query was issued.
OnePCCountThe number of single-phase commit operations that have occurred on this RM.
TwoPCCountThe number of two-phase commit operations that have occurred on this RM.
NumberLogFileFullThe number of times this RM's log has become full.
OldestTransactionAgeThe length of the oldest active transaction, in milliseconds.
RMNameThe GUID that indicates the name of this RM.
TmLogPathOffsetThe offset from the beginning of this structure to a NULL-terminated Unicode string that contains the path to the TM's log.
FSCTL_TXFS_QUERY_RM_INFORMATION