TXFS_QUERY_RM_INFORMATION 结构 (winioctl.h)
[Microsoft 强烈建议开发人员利用替代方法来实现应用程序的需求。 TxF 致力于实现的许多方案都可以通过更简单、更易用的技术来实现。 此外,TxF 在 Microsoft Windows 的将来版本中可能不可用。 有关详细信息,以及 TxF 的替代方法,请参阅事务性 NTFS 的替代方法。]
包含有关资源管理器 (RM) 的信息。
语法
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;
成员
BytesRequired
如果 FSCTL_TXFS_QUERY_RM_INFORMATION 返回 ERROR_BUFFER_TOO_SMALL,则此成员指定返回请求的信息所需的最小字节数,包括 NULL 终止字符。
TailLsn
最旧的日志序列号 (LSN) 当前由 RM 使用。
CurrentLsn
RM 在其日志中最近使用的 LSN。
ArchiveTailLsn
日志存档尾部的 LSN。
LogContainerSize
日志容器的实际大小(以字节为单位)。
HighestVirtualClock
与日志记录关联的最高时间戳。
LogContainerCount
日志容器的数目。
LogContainerCountMax
日志容器的最大数目。
LogContainerCountMin
日志中允许的最小容器数。
LogGrowthIncrement
日志将增长的量,即容器数或日志大小的百分比;使用的增长类型由 Flags 成员中设置 的标志 指定。
LogAutoShrinkPercentage
如果自动收缩策略处于活动状态,则此成员指定日志中允许的最大可用空间量。 如果此成员为零,则自动收缩策略不处于活动状态。
Flags
此成员可以是以下一个或多个值。
值 | 含义 |
---|---|
|
如果设置了 标志,则允许 RM 的日志尽可能缩小。 此标志与 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX 互斥。 |
|
指示 LogGrowthIncrement 中的值类型。 如果设置了此标志, 则 LogGrowthIncrement 为多个容器。 此标志与 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT 互斥。 |
|
指示 LogGrowthIncrement 中的值类型。 如果设置了此标志, 则 LogGrowthIncrement 为百分比。 此标志与 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS 互斥。 |
|
指示 RM 的日志可以无边界增长。 此标志与 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN 互斥。 |
|
指示 RM 重置标志的当前状态。 如果设置了此设置,则 RM 将在下次启动时自行重置。 此标志仅对默认的 RMs 有效,对辅助 RMs 无效。 此标志与 TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START 互斥。 |
|
指示 RM 重置标志的当前状态。 如果设置了此设置,则 RM 不会在下次启动时自行重置。 此标志仅对默认的 RMs 有效,对辅助 RMs 无效。 此标志与 TXFS_RM_FLAG_RESET_RM_AT_NEXT_START 互斥。 |
|
指示 RM 首选事务 一致性 而不是系统 可用性。 此标志与 TXFS_RM_FLAG_PREFER_AVAILABILITY 互斥,系统卷上的默认 RM 不支持此标志。 |
|
指示 RM 首选系统 可用性 而不是事务 一致性。 此标志与 TXFS_RM_FLAG_PREFER_CONSISTENCY 互斥,由系统卷上的默认 RM 强制使用。 |
LoggingMode
当前日志记录模式。
值 | 含义 |
---|---|
|
使用简单日志记录。 |
|
使用完整日志记录 |
Reserved
保留。
RmState
RM 的状态。 有效值如下所示。
值 | 含义 |
---|---|
|
RM 尚未启动。 |
|
RM 正在启动。 |
|
RM 处于活动状态,已准备好接受事务。 |
|
RM 正在关闭。 |
LogCapacity
日志的总容量(以字节为单位)。
LogFree
日志中可用字节数。
TopsSize
$Tops文件的大小(以字节为单位)。
TopsUsed
正在使用的$Tops文件的数量(以字节为单位)。
TransactionCount
发出查询时的活动事务数。
OnePCCount
在此 RM 上发生的单阶段提交操作数。
TwoPCCount
在此 RM 上发生的两阶段提交操作数。
NumberLogFileFull
此 RM 的日志已满的次数。
OldestTransactionAge
最早的活动事务的长度(以毫秒为单位)。
RMName
指示此 RM 的名称的 GUID 。
TmLogPathOffset
从此结构的开头到包含 TM 日志路径的 以 NULL 结尾的 Unicode 字符串的偏移量。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |