Funzione ClfsMgmtHandleLogFileFull (wdm.h)
La routine ClfsMgmtHandleLogFileFull tenta di rendere più spazio disponibile in un log. Potrebbe rendere più spazio disponibile aggiungendo contenitori al log oppure potrebbe chiedere ai client di spostare le code del log.
Sintassi
CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
[in] CLFS_MGMT_CLIENT Client
);
Parametri
[in] Client
Client che richiede la gestione CLFS per rendere disponibile lo spazio nel log. Il valore di questo parametro deve essere la struttura CLFS_MGMT_CLIENT ottenuta tramite una chiamata alla routine ClfsMgmtRegisterManagedClient .
Valore restituito
La routine ClfsMgmtHandleLogFileFull restituisce uno dei valori NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_INVALID_PARAMETER | Il client non gestisce un log. |
STATUS_INVALID_PARAMETER_1 | Il valore fornito per il parametro Client era NULL o non rappresenta un client valido. |
STATUS_LOG_FULL_HANDLER_IN_PROGRESS | La gestione CLFS sta già tentando di risolvere una condizione completa del file di log per questo client. |
STATUS_UNSUCCESSFUL | La gestione CLFS non è stata in grado di elaborare la richiesta. |
STATUS_PENDING | La gestione CLFS elabora la richiesta di creare spazio nel log. |
STATUS_SUCCESS | La quantità di spazio richiesta è disponibile nel log. |
Commenti
Per rendere più spazio disponibile nel log, la routine ClfsMgmtHandleLogFileFull tenta prima di tutto di aggiungere altri contenitori al log in base alla frequenza di crescita, alle nuove dimensioni del contenitore e ai criteri di dimensioni massime. Se non è possibile aggiungere più contenitori, la routine ClfsMgmtHandleLogFileFull tenta di liberare spazio esistente richiamando una o più funzioni ClfsAdvanceTailCallback di uno o più client.
Se la routine ClfsMgmtHandleLogFileFull restituisce STATUS_PENDING, la funzione ClfsLogGrowthCompleteCallback del client verrà chiamata quando la richiesta di rendere spazio nel log è stata completata.
Se la routine ClfsMgmtHandleLogFileFull restituisce STATUS_LOG_FULL_HANDLER_IN_PROGRESS, il client ha già richiesto la gestione CLFS per gestire una condizione completa del file di log. La funzione ClfsLogGrowthCompleteCallback del client non verrà chiamata una seconda volta.
Se la routine ClfsMgmtHandleLogFileFull restituisce STATUS_SUCCESS, la chiamata è stata completata in modo sincrono e la funzione ClfsLogGrowthCompleteCallback del client non verrà richiamata.
Se la routine ClfsMgmtHandleLogFileFull restituisce STATUS_PENDING, la gestione CLFS si trova nel processo di tentativo di liberare spazio nel log e chiamerà la funzione ClfsLogGrowthCompleteCallback del client quando è stata gestita la condizione completa del file di log. Se il log viene aggiunto, la gestione CLFS chiamerà la funzione ClfsLogGrowthCompleteCallback con il parametro LogIsPinned impostato su TRUE prima che la routine ClfsMgmtHandleLogFileFull restituisce STATUS_PENDING.
È possibile che la funzione ClfsLogGrowthCompleteCallback del client possa essere chiamata prima della chiamata a ClfsMgmtHandleLogFileFull .
Se la routine ClfsMgmtHandleLogFileFull restituisce STATUS_PENDING, non è consigliabile chiamare nuovamente la routine ClfsMgmtHandleLogFileFull per questo client finché non è stata chiamata la funzione ClfsLogGrowthCompleteCallback del client.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | Clfs.lib |
DLL | Clfs.sys |
IRQL | IRQL <= APC_LEVEL |