ClfsMgmtHandleLogFileFull, fonction (wdm.h)
La routine ClfsMgmtHandleLogFileFull tente de rendre plus d’espace disponible dans un journal. Il peut rendre plus d’espace disponible en ajoutant des conteneurs au journal, ou demander aux clients de déplacer leurs queues de journal.
CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
[in] CLFS_MGMT_CLIENT Client
);
[in] Client
Client qui demande la gestion CLFS pour rendre l’espace disponible dans le journal. La valeur de ce paramètre doit être la structure CLFS_MGMT_CLIENT obtenue par le biais d’un appel à la routine ClfsMgmtRegisterManagedClient.
La routine ClfsMgmtHandleLogFileFull retourne l’une des valeurs NTSTATUS suivantes :
Retourner le code | Description |
---|---|
STATUS_INVALID_PARAMETER | Le client ne gère pas de journal. |
STATUS_INVALID_PARAMETER_1 | La valeur fournie pour le paramètre client a été NULL ou ne représente pas un client valide. |
STATUS_LOG_FULL_HANDLER_IN_PROGRESS | La gestion CLFS tente déjà de résoudre une condition complète de fichier journal pour ce client. |
STATUS_UNSUCCESSFUL | La gestion CLFS n’a pas pu traiter la demande. |
STATUS_PENDING | La gestion CLFS traite la demande de création d’espace dans le journal. |
STATUS_SUCCESS | La quantité d’espace demandée est disponible dans le journal. |
Pour rendre plus d’espace disponible dans le journal, la routine ClfsMgmtHandleLogFileFull tente d’abord d’ajouter d’autres conteneurs au journal conformément au taux de croissance, à la nouvelle taille de conteneur et aux stratégies de taille maximale. Si d’autres conteneurs ne peuvent pas être ajoutés, la routine ClfsMgmtHandleLogFileFull tente de libérer de l’espace existant en appelant une ou plusieurs fonctions ClfsAdvanceTailCallback des clients.
Si la routine ClfsMgmtHandleLogFileFull retourne STATUS_PENDING, la fonction ClfsLogGrowthCompleteCallback du client est appelée lorsque la demande d’espace dans le journal a été terminée.
Si la routine ClfsMgmtHandleLogFileFull retourne STATUS_LOG_FULL_HANDLER_IN_PROGRESS, le client a déjà demandé la gestion CLFS pour gérer une condition complète du fichier journal. La fonction ClfsLogGrowthCompleteCallback du client ne sera pas appelée une deuxième fois.
Si la routine de ClfsMgmtHandleLogFileFull retourne STATUS_SUCCESS, l’appel s’est terminé de façon synchrone et la fonction ClfsLogGrowthCompleteCallback du client ne sera pas appelée.
Si la routine ClfsMgmtHandleLogFileFull retourne STATUS_PENDING, la gestion CLFS est en cours de tentative d’espace libre dans le journal et appelle la fonction ClfsLogGrowthCompleteCallback du client lorsque la condition complète du fichier journal a été gérée. Si le journal est épinglé, la gestion CLFS appelle la fonction ClfsLogGrowthCompleteCallback avec le paramètre LogIsPinned défini sur TRUE avant la routine ClfsMgmtHandleLogFileFull retourne STATUS_PENDING.
Il est possible que la fonction ClfsLogGrowthCompleteCallback du client puisse être appelée avant que l’appel à ClfsMgmtHandleLogFileFull retourne.
Si la routine ClfsMgmtHandleLogFileFull retourne STATUS_PENDING, vous ne devez pas appeler la routine ClfsMgmtHandleLogFileFull pour ce client jusqu’à ce que la fonction ClfsLogGrowthCompleteCall back du client n’ait pas été appelée.
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | Clfs.lib |
DLL | Clfs.sys |
IRQL | IRQL <= APC_LEVEL |