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 |