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 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 .

Retornar valor

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 que foi 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 resolve uma condição completa de arquivo de log para esse cliente.
STATUS_UNSUCCESSFUL O gerenciamento do 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 lidar com 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.

É possível que a função ClfsLogGrowthCompleteCallback do cliente possa ser chamada antes que a chamada para ClfsMgmtHandleLogFileFull retorne.

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

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca Clfs.lib
DLL Clfs.sys
IRQL IRQL <= APC_LEVEL

Confira também

ClfsAdvanceTailCallback

ClfsLogGrowthCompleteCallback

ClfsMgmtRegisterManagedClient