estrutura CLFS_MGMT_POLICY (wdm.h)

A estrutura CLFS_MGMT_POLICY contém uma descrição de uma política para gerenciar um log CLFS.

Sintaxe

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;

Membros

Version

A versão da estrutura CLFS_MGMT_POLICY . Defina isso como CLFS_MGMT_POLICY_VERSION.

LengthInBytes

O comprimento da estrutura CLFS_MGMT_POLICY .

PolicyFlags

Os sinalizadores que se aplicam a essa instância da estrutura CLFS_MGMT_POLICY . O único sinalizador que foi implementado para esta versão é LOG_POLICY_OVERWRITE, que indica que, quando a política estiver instalada, ela substituirá a política do mesmo tipo, se essa política já existir.

PolicyType

Um valor da enumeração CLFS_MGMT_POLICY_TYPE que fornece o tipo dessa instância da estrutura CLFS_MGMT_POLICY .

PolicyParameters

A união que fornece as informações detalhadas sobre essa instância da estrutura CLFS_MGMT_POLICY .

PolicyParameters.MaximumSize

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyMaximumSize.

PolicyParameters.MaximumSize.Containers

O número máximo de contêineres que o log usará.

PolicyParameters.MinimumSize

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyMinimumSize.

PolicyParameters.MinimumSize.Containers

O número mínimo de contêineres que o log usará.

PolicyParameters.NewContainerSize

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyNewContainerSize.

PolicyParameters.NewContainerSize.SizeInBytes

O tamanho de cada um dos contêineres do log.

PolicyParameters.GrowthRate

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyGrowthRate.

PolicyParameters.GrowthRate.AbsoluteGrowthInContainers

O número de contêineres que devem ser adicionados quando o tamanho do log é aumentado. Se o membro RelativeGrowthPercentage for diferente de zero, AbsoluteGrowthInContainers deverá ser zero.

PolicyParameters.GrowthRate.RelativeGrowthPercentage

O percentual pelo qual o tamanho do log deve aumentar quando o log cresce, expresso como um número entre zero e 100. Por exemplo, se o log consistisse em 32 contêineres e RelativeGrowthPercentage fosse dez, então, quando o log precisasse crescer, ele cresceria três contêineres (32 * 10%, arredondados para baixo até o inteiro mais próximo). Se o membro AbsoluteGrowthInContainers for diferente de zero, RelativeGrowthPercentage deverá ser zero.

PolicyParameters.LogTail

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyLogTail.

PolicyParameters.LogTail.MinimumAvailablePercentage

Quando o gerenciamento CLFS notificar o cliente para mover sua parte final do log, ele especificará que a parte final seja movida para um LSN que deixa pelo menos o percentual MinimumAvailablePercentage do log livre. Se o membro MinimumAvailableContainers for diferente de zero, MinimumAvailablePercentage deverá ser zero.

PolicyParameters.LogTail.MinimumAvailableContainers

Quando o gerenciamento CLFS notificar o cliente para mover sua parte final do log, ele especificará que a parte final seja movida para um LSN que deixa pelo menos contêineres MinimumAvailableContainers gratuitos. Se o membro MinimumAvailablePercentage for diferente de zero, MinimumAvailableContainers deverá ser zero.

PolicyParameters.AutoShrink

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyAutoShrink.

PolicyParameters.AutoShrink.Percentage

Quando o percentual de espaço livre no log atingir Porcentagem, o log será reduzido. A porcentagem é expressa como um número entre 0 e 100, portanto, um valor de 25 significaria 25%.

PolicyParameters.AutoGrow

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyAutoGrow.

PolicyParameters.AutoGrow.Enabled

Um valor numérico que determina se o crescimento automático de log está habilitado. Qualquer valor diferente de zero permite o crescimento automático.

PolicyParameters.NewContainerPrefix

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyNewContainerPrefix.

PolicyParameters.NewContainerPrefix.PrefixLengthInBytes

O comprimento, em bytes, do membro PrefixString .

PolicyParameters.NewContainerPrefix.PrefixString[1]

Uma cadeia de caracteres largos que contém o caminho completo para o diretório onde residem os contêineres do log, bem como um prefixo que será usado como parte do nome do arquivo para cada contêiner no log.

PolicyParameters.NewContainerSuffix

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyNewContainerSuffix.

PolicyParameters.NewContainerSuffix.NextContainerSuffix

O número a ser usado como o sufixo do nome do arquivo para o próximo contêiner no log. Para formar o nome do arquivo, o número é convertido em uma cadeia de caracteres de dígitos decimais e acrescentado à cadeia de caracteres de prefixo. O número é incrementado para o nome do arquivo de cada contêiner subsequente.

PolicyParameters.NewContainerExtension

A estrutura que fornece as informações detalhadas sobre uma política cujo PolicyType é ClfsMgmtPolicyNewContainerExtension.

PolicyParameters.NewContainerExtension.ExtensionLengthInBytes

O comprimento, em bytes, do membro ExtensionString .

PolicyParameters.NewContainerExtension.ExtensionString[1]

Uma cadeia de caracteres largos que contém a extensão para o nome do arquivo para cada contêiner no log. Os nomes de arquivo de contêiner são criados usando o formato [prefixo][sufixo][.extension]. Uma extensão é opcional. A extensão padrão é a cadeia de caracteres vazia.

Comentários

A maneira como uma estrutura de CLFS_MGMT_POLICY é interpretada depende do tipo de política que a estrutura contém.

Você pode fornecer políticas que especificam como o log será gerenciado. Cada política é uma instância da estrutura CLFS_MGMT_POLICY , mas a estrutura é interpretada de forma diferente dependendo do tipo de política. O CLFS usa as informações fornecidas nas políticas para adaptar como ele gerencia o log.

Ao criar uma estrutura CLFS_MGMT_POLICY cujo PolicyType é ClfsMgmtPolicyNewContainerPrefix, aloque espaço suficiente para manter a cadeia de caracteres PolicyParameters.NewContainerPrefix.PrefixString .

Você só pode instalar uma política cujo tipo de política especificado no valor PolicyType é ClfsMgmtPolicyNewContainerSize antes que haja contêineres no log. Você pode alterar outras políticas depois que o log existir.

Requisitos

Requisito Valor
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Confira também

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy

ClfsMgmtQueryPolicy

ClfsMgmtRemovePolicy