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
提供有关 其 PolicyType 为 ClfsMgmtPolicyMaximumSize 的策略的详细信息的结构。
PolicyParameters.MaximumSize.Containers
日志将使用的最大容器数。
PolicyParameters.MinimumSize
提供有关 其 PolicyType 为 ClfsMgmtPolicyMinimumSize 的策略的详细信息的结构。
PolicyParameters.MinimumSize.Containers
日志将使用的最小容器数。
PolicyParameters.NewContainerSize
提供有关 其 PolicyType 为 ClfsMgmtPolicyNewContainerSize 的策略的详细信息的结构。
PolicyParameters.NewContainerSize.SizeInBytes
每个日志容器的大小。
PolicyParameters.GrowthRate
提供有关 其 PolicyType 为 ClfsMgmtPolicyGrowthRate 的策略的详细信息的结构。
PolicyParameters.GrowthRate.AbsoluteGrowthInContainers
增加日志大小时应添加的容器数。 如果 RelativeGrowthPercentage 成员为非零,则 AbsoluteGrowthInContainers 必须为零。
PolicyParameters.GrowthRate.RelativeGrowthPercentage
日志增长时日志大小应增加的百分比,以介于 0 和 100 之间的数字表示。 例如,如果日志包含 32 个容器, RelativeGrowthPercentage 为 10,则当日志需要增长时,它将增长 3 (32 * 10%,向下舍入为最接近的整数) 容器。 如果 AbsoluteGrowthInContainers 成员为非零,则 RelativeGrowthPercentage 必须为零。
PolicyParameters.LogTail
提供有关 其 PolicyType 为 ClfsMgmtPolicyLogTail 的策略的详细信息的结构。
PolicyParameters.LogTail.MinimumAvailablePercentage
当 CLFS 管理通知客户端移动其日志尾部时,它将指定将尾部移动到 LSN,该 LSN 至少使 MinimumAvailablePercentage 百分比的日志可用。 如果 MinimumAvailableContainers 成员为非零,则 MinimumAvailablePercentage 必须为零。
PolicyParameters.LogTail.MinimumAvailableContainers
当 CLFS 管理通知客户端移动其日志尾部时,它将指定将尾部移动到 LSN,该 LSN 至少使 MinimumAvailableContainers 容器可用。 如果 MinimumAvailablePercentage 成员为非零,则 MinimumAvailableContainers 必须为零。
PolicyParameters.AutoShrink
提供有关 其 PolicyType 为 ClfsMgmtPolicyAutoShrink 的策略的详细信息的结构。
PolicyParameters.AutoShrink.Percentage
当日志中可用空间的百分比达到 百分比时,日志将收缩。 百分比表示为介于 0 和 100 之间的数字,因此值 25 表示 25%。
PolicyParameters.AutoGrow
提供有关 其 PolicyType 为 ClfsMgmtPolicyAutoGrow 的策略的详细信息的结构。
PolicyParameters.AutoGrow.Enabled
一个数值,确定是否启用自动日志增长。 任何非零值都支持自动增长。
PolicyParameters.NewContainerPrefix
提供有关 其 PolicyType 为 ClfsMgmtPolicyNewContainerPrefix 的策略的详细信息的结构。
PolicyParameters.NewContainerPrefix.PrefixLengthInBytes
PrefixString 成员的长度(以字节为单位)。
PolicyParameters.NewContainerPrefix.PrefixString[1]
一个宽字符字符串,其中包含日志容器所在的目录的完整路径,以及将用作日志中每个容器的文件名的一部分的前缀。
PolicyParameters.NewContainerSuffix
提供有关 其 PolicyType 为 ClfsMgmtPolicyNewContainerSuffix 的策略的详细信息的结构。
PolicyParameters.NewContainerSuffix.NextContainerSuffix
要用作日志中下一个容器的文件名后缀的数字。 为了形成文件名,数字将转换为十进制数字字符串,并追加到前缀字符串。 对于每个后续容器的文件名,该数字递增。
PolicyParameters.NewContainerExtension
提供有关其 PolicyType 为 ClfsMgmtPolicyNewContainerExtension 的策略的详细信息的结构。
PolicyParameters.NewContainerExtension.ExtensionLengthInBytes
ExtensionString 成员的长度(以字节为单位)。
PolicyParameters.NewContainerExtension.ExtensionString[1]
一个宽字符字符串,其中包含日志中每个容器的文件名扩展名。 容器文件名是使用格式 [prefix][suffix][.extension] 生成的。 扩展是可选的。 默认扩展名为空字符串。
注解
解释CLFS_MGMT_POLICY结构的方式取决于结构保留的策略类型。
可以提供指定日志管理方式 的策略 。 每个策略都是 CLFS_MGMT_POLICY 结构的实例,但结构的解释因策略类型而异。 CLFS 使用你在策略中提供的信息来定制它管理日志的方式。
创建其 PolicyType 为 ClfsMgmtPolicyNewContainerPrefix的CLFS_MGMT_POLICY结构时,请确保分配足够的空间来保存 PolicyParameters.NewContainerPrefix.PrefixString 字符串。
在日志中存在任何容器之前,只能安装 PolicyType 值中指定的策略类型为 ClfsMgmtPolicyNewContainerSize 的策略。 可以在日志存在后更改其他策略。
要求
要求 | 值 |
---|---|
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |