[Microsoft强烈建议开发人员利用替代方法来实现应用程序的需求。 TxF 开发的许多方案可以通过更简单、更易用的技术来实现。 此外,TxF 在 Microsoft Windows 的未来版本中可能不可用。 有关详细信息,以及 TxF 的替代项,请参阅 使用事务 NTFS 的替代项。]
包含有关资源管理器(RM)的信息。
Syntax
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;
Members
BytesRequired
如果 FSCTL_TXFS_QUERY_RM_INFORMATION 返回 ERROR_BUFFER_TOO_SMALL,则此成员指定返回请求的信息所需的最小字节数,包括 NULL 终止符。
TailLsn
RM 当前使用的最旧日志序列号(LSN)。
CurrentLsn
RM 在其日志中最近使用的 LSN。
ArchiveTailLsn
日志的存档尾部的 LSN。
LogContainerSize
日志容器的实际大小(以字节为单位)。
HighestVirtualClock
与日志记录关联的最高时间戳。
LogContainerCount
日志容器数。
LogContainerCountMax
日志容器的最大数目。
LogContainerCountMin
日志中允许的最小容器数。
LogGrowthIncrement
日志将增长的量,即多个容器或日志大小的百分比;所使用的增长类型由 Flags 成员中设置的标志指定。
LogAutoShrinkPercentage
如果自动收缩策略处于活动状态,则此成员指定日志中允许的最大可用空间量。 如果此成员为零,则自动收缩策略不处于活动状态。
Flags
此成员可以是以下一个或多个值。
| 价值 | Meaning |
|---|---|
|
如果设置了标志,则允许 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 将在下次启动时重置自身。 此标志仅适用于默认 RM,而不适用于辅助 RM。 此标志与 TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START互斥。 |
|
指示 RM 重置标志的当前状态。 如果已设置,则下次启动 RM 时不会自行重置。 此标志仅适用于默认 RM,而不适用于辅助 RM。 此标志与 TXFS_RM_FLAG_RESET_RM_AT_NEXT_START互斥。 |
|
指示 RM 优先于事务 一致性 而不是系统 可用性。 此标志与 TXFS_RM_FLAG_PREFER_AVAILABILITY 互斥,系统卷上的默认 RM 不支持此标志。 |
|
指示 RM 优先于系统 可用性 而不是事务 一致性。 此标志与 TXFS_RM_FLAG_PREFER_CONSISTENCY 互斥,由系统卷上的默认 RM 强制使用。 |
LoggingMode
当前日志记录模式。
| 价值 | Meaning |
|---|---|
|
使用简单日志记录。 |
|
使用完整日志记录 |
Reserved
预留。
RmState
RM 的状态。 有效值如下所示。
| 价值 | Meaning |
|---|---|
|
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 字符串的偏移量。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
| Header | winioctl.h (包括 Windows.h) |