TXFS_MODIFY_RM 结构 (winioctl.h)

[Microsoft 强烈建议开发人员使用替代方法来实现应用程序的需求。 TxF 致力于实现的许多方案都可以通过更简单、更易用的技术来实现。 此外,TxF 在 Microsoft Windows 的将来版本中可能不可用。 有关详细信息,以及 TxF 的替代方法,请参阅事务性 NTFS 的替代方法。]

包含修改辅助资源管理器的日志参数和日志记录模式时所需的信息。

语法

typedef struct _TXFS_MODIFY_RM {
  DWORD     Flags;
  DWORD     LogContainerCountMax;
  DWORD     LogContainerCountMin;
  DWORD     LogContainerCount;
  DWORD     LogGrowthIncrement;
  DWORD     LogAutoShrinkPercentage;
  DWORDLONG Reserved;
  WORD      LoggingMode;
} TXFS_MODIFY_RM, *PTXFS_MODIFY_RM;

成员

Flags

要设置的日志参数。

此成员可以是以下一个或多个值。

含义
TXFS_RM_FLAG_LOGGING_MODE
0x00000001
如果设置了此标志,则使用此结构的 LoggingMode 成员。 如果未设置标志,则忽略 LoggingMode 成员。
TXFS_RM_FLAG_RENAME_RM
0x00000002
如果设置了此标志,则指示 RM 在创建新的 GUID) (重命名自身。
TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX
0x00000004
如果设置了此标志,则使用 LogContainerCountMax 成员。 如果未设置标志,则忽略 LogContainerCountMax 成员。 此标志与 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN 互斥。
TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN
0x00000008
如果设置了此标志,则使用 LogContainerCountMin 成员。 如果未设置标志,则忽略 LogContainerCountMin 成员。 此标志与 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX 互斥。
TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS
0x00000010
如果设置了此标志,则使用 LogGrowthIncrement 成员。 如果未设置标志,则忽略 LogGrowthIncrement 成员。 此标志指示日志应按 LogGrowthIncrement 成员中指定的容器数增长。 此标志与 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT 互斥。
TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT
0x00000020
如果设置了此标志,则使用 LogGrowthIncrement 成员。 如果未设置标志,则忽略 LogGrowthIncrement 成员。 此标志指示日志应按 LogGrowthIncrement 成员中指定的日志大小的百分比增长。 此标志与 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS 互斥。
TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE
0x00000040
如果设置了此标志,则使用 LogAutoShrinkPercentage 成员。 如果未设置标志,则忽略 LogAutoShrinkPercentage
TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX
0x00000080
如果设置了此标志,则指示 RM 允许其日志在没有边界的情况下增长。 此标志与 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN 互斥。
TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN
0x00000100
如果设置了此标志,则指示 RM 允许其日志仅将日志收缩到两个容器。 此标志与 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX 互斥。
TXFS_RM_FLAG_GROW_LOG
0x00000400
如果设置了此标志,则指示日志立即将其大小增加到 LogContainerCount 中指定的大小。 如果未设置标志,则忽略 LogContainerCount
TXFS_RM_FLAG_SHRINK_LOG
0x00000800
如果设置了此标志,则指示日志立即将其大小减小到 LogContainerCount 中指定的大小。 如果设置了此标志和 TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE ,则指示日志收缩到其最小允许大小,并忽略 LogContainerCount
TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE
0x00001000
如果设置了此标志和 TXFS_RM_FLAG_SHRINK_LOG ,则会指示日志收缩到其最小允许大小,并忽略 LogContainerCount 。 如果设置了此标志,则必须设置 TXFS_RM_FLAG_SHRINK_LOG
TXFS_RM_FLAG_PRESERVE_CHANGES
0x00002000
如果设置了此标志,则指示日志保留磁盘上的更改。 如果未设置此标志,则所做的任何更改都是临时 (,即在 RM 关闭并重新启动) 之前。
TXFS_RM_FLAG_RESET_RM_AT_NEXT_START
0x00004000
此标志仅对默认 RM 有效,对辅助 RM 无效。 如果设置了此标志,则指示 RM 在下次启动时自行重置。 日志和关联的元数据将被删除。
TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START
0x00008000
此标志仅对默认 RM 有效,对辅助 RM 无效。 如果设置了此标志,则会取消对 FSCTL_TXFS_MODIFY_RM 的先前调用,并设置了 TXFS_RM_FLAG_RESET_RM_AT_NEXT_START 标志。
TXFS_RM_FLAG_PREFER_CONSISTENCY
0x00010000
指示 RM 优先于事务 一致性 而不是系统 可用性。 此标志与 TXFS_RM_FLAG_PREFER_AVAILABILITY 互斥,系统卷上的默认 RM 不支持此标志。
TXFS_RM_FLAG_PREFER_AVAILABILITY
0x00020000
指示 RM 优先于系统 可用性 ,而不是事务 一致性。 此标志与 TXFS_RM_FLAG_PREFER_CONSISTENCY 互斥,由系统卷上的默认 RM 强制使用。

LogContainerCountMax

容器中日志的最大大小。

LogContainerCountMin

容器中日志的最小大小。

LogContainerCount

容器中日志的实际大小。

LogGrowthIncrement

应添加到日志的容器数或空间百分比。

LogAutoShrinkPercentage

要保持可用日志空间的百分比。 此成员在使用 TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE 标志时使用,并指示日志自动收缩自身,因此在任何给定时间,日志的可用时间不超过 LogAutoShrinkPercentage

Reserved

保留。

LoggingMode

当前日志记录模式。

含义
TXFS_LOGGING_MODE_SIMPLE
1
使用简单日志记录。
TXFS_LOGGING_MODE_FULL
2
使用完整日志记录

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅

FSCTL_TXFS_MODIFY_RM