ClfsMgmtHandleLogFileFull-Funktion (wdm.h)
Die ClfsMgmtHandleLogFileFull Routineversuche, mehr Speicherplatz in einem Protokoll verfügbar zu machen. Es kann mehr Speicherplatz zur Verfügung stellen, indem Container zum Protokoll hinzugefügt werden, oder er fordert Clients auf, ihre Protokollschwanzen zu verschieben.
Syntax
CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
[in] CLFS_MGMT_CLIENT Client
);
Parameter
[in] Client
Der Client, der die CLFS-Verwaltung anfordert, um Speicherplatz im Protokoll verfügbar zu machen. Der Wert dieses Parameters sollte die CLFS_MGMT_CLIENT Struktur sein, die über einen Aufruf der ClfsMgmtRegisterManagedClient Routine abgerufen wird.
Rückgabewert
Die ClfsMgmtHandleLogFileFull Routine gibt einen der folgenden NTSTATUS-Werte zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_INVALID_PARAMETER | Der Client verwaltet kein Protokoll. |
STATUS_INVALID_PARAMETER_1 | Der wert, der für den parameter Client angegeben wurde, war entweder NULL- oder stellt keinen gültigen Client dar. |
STATUS_LOG_FULL_HANDLER_IN_PROGRESS | Die CLFS-Verwaltung versucht bereits, eine vollständige Bedingung für eine Protokolldatei für diesen Client aufzulösen. |
STATUS_UNSUCCESSFUL | Die CLFS-Verwaltung konnte die Anforderung nicht verarbeiten. |
STATUS_PENDING | Die CLFS-Verwaltung verarbeitet die Anforderung zum Erstellen von Speicherplatz im Protokoll. |
STATUS_SUCCESS | Der angeforderte Speicherplatz ist im Protokoll verfügbar. |
Bemerkungen
Um mehr Speicherplatz im Protokoll zur Verfügung zu stellen, versucht die ClfsMgmtHandleLogFileFull Routine zunächst, dem Protokoll weitere Container gemäß der Wachstumsrate, der neuen Containergröße und den Richtlinien für die maximale Größe hinzuzufügen. Wenn keine weiteren Container hinzugefügt werden können, versucht die ClfsMgmtHandleLogFileFull Routine, vorhandenen Speicherplatz frei zu geben, indem die ClfsAdvanceTailCallback--Funktionen von Clients abgerufen werden.
Wenn die ClfsMgmtHandleLogFileFull- Routine STATUS_PENDING zurückgibt, wird die ClfsLogGrowthCompleteCallback- Funktion des Clients aufgerufen, wenn die Anforderung zum Erstellen von Speicherplatz im Protokoll abgeschlossen wurde.
Wenn die ClfsMgmtHandleLogFileFull- Routine STATUS_LOG_FULL_HANDLER_IN_PROGRESS zurückgibt, hat der Client bereits die CLFS-Verwaltung angefordert, um eine vollständige Bedingung einer Protokolldatei zu verarbeiten. Die ClfsLogGrowthCompleteCallback-Funktion des Clients wird nicht ein zweites Mal aufgerufen.
Wenn die ClfsMgmtHandleLogFileFull Routine STATUS_SUCCESS zurückgibt, wird der Aufruf synchron abgeschlossen, und die ClfsLogGrowthCompleteCallback- funktion des Clients wird nicht aufgerufen.
Wenn die ClfsMgmtHandleLogFileFull Routine STATUS_PENDING zurückgibt, befindet sich die CLFS-Verwaltung beim Versuch, Speicherplatz im Protokoll freizugeben, und ruft die ClfsLogGrowthCompleteCallback Funktion des Clients auf, wenn die Vollbedingung der Protokolldatei verarbeitet wurde. Wenn das Protokoll angeheftet ist, ruft die CLFS-Verwaltung die ClfsLogGrowthCompleteCallback-Funktion des Clients mit dem LogIsPinned Parameter auf TRUE auf, bevor die ClfsMgmtHandleLogFileFull- Routine STATUS_PENDING zurückgibt.
Es ist möglich, dass die ClfsLogGrowthCompleteCallback--Funktion des Clients aufgerufen werden kann, bevor der Aufruf von ClfsMgmtHandleLogFileFull zurückgegeben wird.
Wenn die ClfsMgmtHandleLogFileFull Routine STATUS_PENDING zurückgibt, sollten Sie die ClfsMgmtHandleLogFileFull-Routine für diesen Client nicht erneut aufrufen, bis die ClfsLogGrowthCallback--Funktion des Clients aufgerufen wurde.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | Clfs.lib |
DLL- | Clfs.sys |
IRQL- | IRQL-<= APC_LEVEL |