Função ClfsMgmtHandleLogFileFull (wdm.h)

A rotina ClfsMgmtHandleLogFileFull tenta disponibilizar mais espaço em um log. Ele pode disponibilizar mais espaço adicionando contêineres ao log ou pode solicitar que os clientes movam suas caudas de log.

Sintaxe

CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
  [in] CLFS_MGMT_CLIENT Client
);

Parâmetros

[in] Client

O cliente que está solicitando o gerenciamento CLFS para disponibilizar espaço no log. O valor desse parâmetro deve ser a estrutura CLFS_MGMT_CLIENT obtida por meio de uma chamada para a rotina ClfsMgmtRegisterManagedClient .

Valor retornado

A rotina ClfsMgmtHandleLogFileFull retorna um dos seguintes valores NTSTATUS:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
O cliente não está gerenciando um log.
STATUS_INVALID_PARAMETER_1
O valor fornecido para o parâmetro Client foi NULL ou não representa um cliente válido.
STATUS_LOG_FULL_HANDLER_IN_PROGRESS
O gerenciamento CLFS já está tentando resolver uma condição completa de arquivo de log para esse cliente.
STATUS_UNSUCCESSFUL
O gerenciamento CLFS não pôde processar a solicitação.
STATUS_PENDING
O gerenciamento CLFS está processando a solicitação para criar espaço no log.
STATUS_SUCCESS
A quantidade de espaço solicitada está disponível no log.

Comentários

Para disponibilizar mais espaço no log, a rotina ClfsMgmtHandleLogFileFull primeiro tenta adicionar mais contêineres ao log de acordo com a taxa de crescimento, o novo tamanho do contêiner e as políticas de tamanho máximo. Se mais contêineres não puderem ser adicionados, a rotina ClfsMgmtHandleLogFileFull tentará liberar espaço existente invocando uma ou mais funções ClfsAdvanceTailCallback de um ou mais clientes.

Se a rotina ClfsMgmtHandleLogFileFull retornar STATUS_PENDING, a função ClfsLogGrowthCompleteCallback do cliente será chamada quando a solicitação para abrir espaço no log for concluída.

Se a rotina ClfsMgmtHandleLogFileFull retornar STATUS_LOG_FULL_HANDLER_IN_PROGRESS, o cliente já solicitou o gerenciamento CLFS para manipular uma condição completa do arquivo de log. A função ClfsLogGrowthCompleteCallback do cliente não será chamada uma segunda vez.

Se a rotina ClfsMgmtHandleLogFileFull retornar STATUS_SUCCESS, a chamada foi concluída de forma síncrona e a função ClfsLogGrowthCompleteCallback do cliente não será invocada.

Se a rotina ClfsMgmtHandleLogFileFull retornar STATUS_PENDING, o gerenciamento CLFS está no processo de tentar liberar espaço no log e chamará a função ClfsLogGrowthCompleteCallback do cliente quando a condição completa do arquivo de log for tratada. Se o log estiver fixado, o gerenciamento CLFS chamará a função ClfsLogGrowthCompleteCallback do cliente com o parâmetro LogIsPinned definido como TRUE antes que a rotina ClfsMgmtHandleLogFileFull retorne STATUS_PENDING.

Importante É possível que a função ClfsLogGrowthCompleteCallback do cliente possa ser chamada antes que a chamada para ClfsMgmtHandleLogFileFull retorne.
 
Importante Se a rotina ClfsMgmtHandleLogFileFull retornar STATUS_PENDING, você não deverá chamar a rotina ClfsMgmtHandleLogFileFull novamente para esse cliente até que a função ClfsLogGrowthCompleteCallback do cliente seja chamada.
 

Requisitos

   
Cliente mínimo com suporte Disponível no Windows Server 2003 R2, Windows Vista e versões posteriores do Windows.
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

ClfsAdvanceTailCallback

ClfsLogGrowthCompleteCallback

ClfsMgmtRegisterManagedClient