Função ClfsMgmtSetLogFileSize (wdm.h)

A rotina ClfsMgmtSetLogFileSize adiciona contêineres a um log ou exclui contêineres de um log.

Sintaxe

CLFSUSER_API NTSTATUS ClfsMgmtSetLogFileSize(
  [in]           PLOG_FILE_OBJECT                     LogFile,
  [in]           PULONGLONG                           NewSizeInContainers,
  [out]          PULONGLONG                           ResultingSizeInContainers,
  [in, optional] PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK CompletionRoutine,
  [in, optional] PVOID                                CompletionRoutineData
);

Parâmetros

[in] LogFile

Um ponteiro para uma estrutura LOG_FILE_OBJECT que representa o log CLFS ou um fluxo dentro do log, ao qual os contêineres estão sendo adicionados ou excluídos.

[in] NewSizeInContainers

Um ponteiro para o tamanho do log solicitado. O chamador define esse parâmetro como um dos valores a seguir.

Valor Significado
0 Impor a política de tamanho mínimo. Para obter mais informações sobre essa política, consulte ClfsMgmtInstallPolicy.

Se uma política de tamanho mínimo não estiver instalada, ocorrerá uma das seguintes opções:

  • Se o log atualmente tiver menos de 2 contêineres, o log será expandido para um tamanho de 2 contêineres.
  • Se o log tiver atualmente 2 ou mais contêineres, nenhuma alteração será feita e a chamada será bem-sucedida.
Se uma política de tamanho mínimo estiver instalada, ocorrerá uma das seguintes opções:
  • Se o log atualmente tiver menos do que o número mínimo de contêineres especificado pela política de tamanho mínimo, o log se expandirá para o número mínimo de contêineres especificado pela política.
  • Se o número de contêineres no log for maior ou igual ao número mínimo de contêineres especificado pela política de tamanho mínimo, nenhuma alteração será feita e a chamada terá êxito sem erros.
1 Valor inválido. A chamada falha e retorna STATUS_INVALID_VALUE.
2 a 1023 O tamanho desejado do log, expresso como o número de contêineres.

Se esse número for menor que o número mínimo de contêineres especificado pela política instalada, a chamada falhará com ERROR_COULD_NOT_RESIZE_LOG.

Se esse número for maior que o número máximo de contêineres especificado pela política instalada, o log se expandirá apenas até o número máximo de contêineres especificado pela política e a chamada terá êxito sem erros.

1024 a MAXULONGLONG Se nenhuma política de tamanho máximo estiver instalada, a chamada falhará e retornará ERROR_LOG_POLICY_CONFLICT.

Se uma política de tamanho máximo estiver instalada, o log se expandirá para o número máximo de contêineres especificado pela política de tamanho máximo e a chamada terá êxito sem erros.

 

Para determinar o tamanho real do log, que pode ser diferente do tamanho solicitado, use o parâmetro ResultingSizeInContainers .

[out] ResultingSizeInContainers

Um ponteiro para o tamanho do log resultante. Se tiver êxito, a rotina gravará o tamanho real do log, expresso como o número de contêineres no log, no local apontado por esse parâmetro.

[in, optional] CompletionRoutine

Não usado. Definido como NULL.

[in, optional] CompletionRoutineData

Não usado. Definido como NULL.

Retornar valor

A rotina ClfsMgmtSetLogFileSize retorna um dos seguintes valores NTSTATUS:

Código de retorno Descrição
STATUS_SUCCESS
O tamanho do arquivo de log foi definido. O parâmetro ResultingSizeInContainers contém o tamanho atual do log.
STATUS_UNSUCCESSFUL
O gerenciamento CLFS não pôde definir o tamanho do arquivo de log.
STATUS_INVALID_PARAMETER_1
O valor do parâmetro LogFile é NULL ou o conteúdo do parâmetro NewSizeInContainers é 1.
STATUS_INVALID_PARAMETER_2
O valor do parâmetro NewSizeInContainers é NULL.
STATUS_LOG_POLICY_INVALID
Há um conflito entre o tamanho máximo e as políticas de tamanho mínimo para o log.
STATUS_COULD_NOT_RESIZE_LOG
O gerenciamento CLFS não pôde excluir contêineres suficientes para alcançar NewSizeInContainers.
STATUS_LOG_POLICY_CONFLICT
O gerenciamento CLFS não pôde adicionar contêineres suficientes ao log para alcançar NewSizeInContainers. Isso pode ocorrer devido a um conflito com uma política definida pelo cliente.
 

Essa rotina também pode retornar outros valores NTSTATUS.

Comentários

A rotina ClfsMgmtSetLogFileSize normalmente é usada somente quando um cliente é iniciado ou interrompido. Não chame a rotina ClfsMgmtSetLogFileSize de dentro da função ClfsAdvanceTailCallback .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Server 2003 R2 e do Windows Vista.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

Confira também

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy