структура 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)

См. также раздел

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy

ClfsMgmtQueryPolicy

ClfsMgmtRemovePolicy