wdm.h) (CLFS_MGMT_POLICY 结构

CLFS_MGMT_POLICY结构包含用于管理 CLFS 日志的策略的说明。

语法

typedef struct _CLFS_MGMT_POLICY {
  ULONG                 Version;
  ULONG                 LengthInBytes;
  ULONG                 PolicyFlags;
  CLFS_MGMT_POLICY_TYPE PolicyType;
  union {
    struct {
      ULONG Containers;
    } MaximumSize;
    struct {
      ULONG Containers;
    } MinimumSize;
    struct {
      ULONG SizeInBytes;
    } NewContainerSize;
    struct {
      ULONG AbsoluteGrowthInContainers;
      ULONG RelativeGrowthPercentage;
    } GrowthRate;
    struct {
      ULONG MinimumAvailablePercentage;
      ULONG MinimumAvailableContainers;
    } LogTail;
    struct {
      ULONG Percentage;
    } AutoShrink;
    struct {
      ULONG Enabled;
    } AutoGrow;
    struct {
      USHORT PrefixLengthInBytes;
      WCHAR  PrefixString[1];
    } NewContainerPrefix;
    struct {
      ULONGLONG NextContainerSuffix;
    } NewContainerSuffix;
    struct {
      USHORT ExtensionLengthInBytes;
      WCHAR  ExtensionString[1];
    } NewContainerExtension;
  } PolicyParameters;
} CLFS_MGMT_POLICY, *PCLFS_MGMT_POLICY;

成员

Version

CLFS_MGMT_POLICY 结构的版本。 将此项设置为 CLFS_MGMT_POLICY_VERSION

LengthInBytes

CLFS_MGMT_POLICY 结构的长度。

PolicyFlags

应用于 此 CLFS_MGMT_POLICY 结构的实例的标志。 为此版本实现的唯一标志是 LOG_POLICY_OVERWRITE,它指示安装策略时,如果已存在同一类型的策略,它将替换同一类型的策略。

PolicyType

CLFS_MGMT_POLICY_TYPE 枚举的值,该值提供CLFS_MGMT_POLICY 结构的此实例的类型。

PolicyParameters

提供有关 此CLFS_MGMT_POLICY 结构实例的详细信息的联合。

PolicyParameters.MaximumSize

提供有关 其 PolicyTypeClfsMgmtPolicyMaximumSize 的策略的详细信息的结构。

PolicyParameters.MaximumSize.Containers

日志将使用的最大容器数。

PolicyParameters.MinimumSize

提供有关 其 PolicyTypeClfsMgmtPolicyMinimumSize 的策略的详细信息的结构。

PolicyParameters.MinimumSize.Containers

日志将使用的最小容器数。

PolicyParameters.NewContainerSize

提供有关 其 PolicyTypeClfsMgmtPolicyNewContainerSize 的策略的详细信息的结构。

PolicyParameters.NewContainerSize.SizeInBytes

每个日志容器的大小。

PolicyParameters.GrowthRate

提供有关 其 PolicyTypeClfsMgmtPolicyGrowthRate 的策略的详细信息的结构。

PolicyParameters.GrowthRate.AbsoluteGrowthInContainers

增加日志大小时应添加的容器数。 如果 RelativeGrowthPercentage 成员为非零,则 AbsoluteGrowthInContainers 必须为零。

PolicyParameters.GrowthRate.RelativeGrowthPercentage

日志增长时日志大小应增加的百分比,以介于 0 和 100 之间的数字表示。 例如,如果日志包含 32 个容器, RelativeGrowthPercentage 为 10,则当日志需要增长时,它将增长 3 (32 * 10%,向下舍入为最接近的整数) 容器。 如果 AbsoluteGrowthInContainers 成员为非零,则 RelativeGrowthPercentage 必须为零。

PolicyParameters.LogTail

提供有关 其 PolicyTypeClfsMgmtPolicyLogTail 的策略的详细信息的结构。

PolicyParameters.LogTail.MinimumAvailablePercentage

当 CLFS 管理通知客户端移动其日志尾部时,它将指定将尾部移动到 LSN,该 LSN 至少使 MinimumAvailablePercentage 百分比的日志可用。 如果 MinimumAvailableContainers 成员为非零,则 MinimumAvailablePercentage 必须为零。

PolicyParameters.LogTail.MinimumAvailableContainers

当 CLFS 管理通知客户端移动其日志尾部时,它将指定将尾部移动到 LSN,该 LSN 至少使 MinimumAvailableContainers 容器可用。 如果 MinimumAvailablePercentage 成员为非零,则 MinimumAvailableContainers 必须为零。

PolicyParameters.AutoShrink

提供有关 其 PolicyTypeClfsMgmtPolicyAutoShrink 的策略的详细信息的结构。

PolicyParameters.AutoShrink.Percentage

当日志中可用空间的百分比达到 百分比时,日志将收缩。 百分比表示为介于 0 和 100 之间的数字,因此值 25 表示 25%。

PolicyParameters.AutoGrow

提供有关 其 PolicyTypeClfsMgmtPolicyAutoGrow 的策略的详细信息的结构。

PolicyParameters.AutoGrow.Enabled

一个数值,确定是否启用自动日志增长。 任何非零值都支持自动增长。

PolicyParameters.NewContainerPrefix

提供有关 其 PolicyTypeClfsMgmtPolicyNewContainerPrefix 的策略的详细信息的结构。

PolicyParameters.NewContainerPrefix.PrefixLengthInBytes

PrefixString 成员的长度(以字节为单位)。

PolicyParameters.NewContainerPrefix.PrefixString[1]

一个宽字符字符串,其中包含日志容器所在的目录的完整路径,以及将用作日志中每个容器的文件名的一部分的前缀。

PolicyParameters.NewContainerSuffix

提供有关 其 PolicyTypeClfsMgmtPolicyNewContainerSuffix 的策略的详细信息的结构。

PolicyParameters.NewContainerSuffix.NextContainerSuffix

要用作日志中下一个容器的文件名后缀的数字。 为了形成文件名,数字将转换为十进制数字字符串,并追加到前缀字符串。 对于每个后续容器的文件名,该数字递增。

PolicyParameters.NewContainerExtension

提供有关其 PolicyTypeClfsMgmtPolicyNewContainerExtension 的策略的详细信息的结构。

PolicyParameters.NewContainerExtension.ExtensionLengthInBytes

ExtensionString 成员的长度(以字节为单位)。

PolicyParameters.NewContainerExtension.ExtensionString[1]

一个宽字符字符串,其中包含日志中每个容器的文件名扩展名。 容器文件名是使用格式 [prefix][suffix][.extension] 生成的。 扩展是可选的。 默认扩展名为空字符串。

注解

解释CLFS_MGMT_POLICY结构的方式取决于结构保留的策略类型。

可以提供指定日志管理方式 的策略 。 每个策略都是 CLFS_MGMT_POLICY 结构的实例,但结构的解释因策略类型而异。 CLFS 使用你在策略中提供的信息来定制它管理日志的方式。

创建其 PolicyTypeClfsMgmtPolicyNewContainerPrefix的CLFS_MGMT_POLICY结构时,请确保分配足够的空间来保存 PolicyParameters.NewContainerPrefix.PrefixString 字符串。

在日志中存在任何容器之前,只能安装 PolicyType 值中指定的策略类型为 ClfsMgmtPolicyNewContainerSize 的策略。 可以在日志存在后更改其他策略。

要求

要求
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)

另请参阅

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy

ClfsMgmtQueryPolicy

ClfsMgmtRemovePolicy