структура CLFS_MGMT_POLICY (wdm.h)
Структура 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
Процент, на который размер журнала должен увеличиваться при увеличении журнала, выраженный в виде числа от нуля до 100. Например, если журнал состоит из 32 контейнеров, а RelativeGrowthPercentage — десять, то, когда журнал должен был увеличиться, он бы вырос на три (32 * 10 процентов, округленный до ближайшего целого числа) контейнеров. Если член AbsoluteGrowthInContainers не является нулевым, параметр RelativeGrowthPercentage должен иметь нулевое значение.
PolicyParameters.LogTail
Структура, которая предоставляет подробные сведения о политике, policyType которой имеет значение ClfsMgmtPolicyLogTail.
PolicyParameters.LogTail.MinimumAvailablePercentage
Когда управление CLFS уведомляет клиента о перемещении заключительного фрагмента журнала, он указывает, что этот хвост будет перемещен в номер LSN, который оставляет по крайней мере минимальный процент доступности данных журнала свободным. Если элемент MinimumAvailableContainers не является нулевым, значение MinimumAvailablePercentage должно быть равно нулю.
PolicyParameters.LogTail.MinimumAvailableContainers
Когда управление CLFS уведомляет клиента о перемещении заключительного фрагмента журнала, он указывает, что он будет перемещен в номер 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]
Строка с расширенными символами, содержащая расширение имени файла для каждого контейнера в журнале. Имена файлов контейнеров создаются в формате [префикс][суффикс][.extension]. Расширение является необязательным. Расширением по умолчанию является пустая строка.
Комментарии
Способ интерпретации структуры CLFS_MGMT_POLICY зависит от типа политики, которую удерживает структура.
Вы можете предоставить политики , определяющие способ управления журналом. Каждая политика является экземпляром структуры CLFS_MGMT_POLICY , но она интерпретируется по-разному в зависимости от типа политики. CLFS использует сведения, указанные в политиках, для настройки управления журналом.
При создании структуры CLFS_MGMT_POLICY с типом политикиClfsMgmtPolicyNewContainerPrefix необходимо выделить достаточно места для хранения строки PolicyParameters.NewContainerPrefix.PrefixString .
Вы можете установить только политику, тип политики которой указан в значении PolicyTypeClfsMgmtPolicyNewContainerSize до появления контейнеров в журнале. После существования журнала можно изменить другие политики.
Требования
Требование | Значение |
---|---|
Заголовок | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |