Lire en anglais

Partager via


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.

Syntaxe

C++
CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
  [in] CLFS_MGMT_CLIENT Client
);

Paramètres

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

Valeur de retour

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.

Remarques

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.

Exigences

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

Voir aussi

ClfsAdvanceTailCallback

ClfsLogGrowthCompleteCallback

ClfsMgmtRegisterManagedClient