Freigeben über


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

Siehe auch

ClfsAdvanceTailCallback-

ClfsLogGrowthCompleteCallback-

ClfsMgmtRegisterManagedClient