ClfsMgmtHandleLogFileFull-Funktion (wdm.h)

Die ClfsMgmtHandleLogFileFull-Routine versucht, mehr Speicherplatz in einem Protokoll zur Verfügung zu stellen. Es kann mehr Speicherplatz zur Verfügung stellen, indem Container zum Protokoll hinzugefügt werden, oder es kann Clients auffordern, ihre Protokollschwänze zu verschieben.

Syntax

CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
  [in] CLFS_MGMT_CLIENT Client
);

Parameter

[in] Client

Der Client, der die CLFS-Verwaltung anfordert, Speicherplatz im Protokoll verfügbar zu machen. Der Wert dieses Parameters sollte die CLFS_MGMT_CLIENT Struktur sein, die durch 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 Clientparameter 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 Protokolldateibedingung 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.

Hinweise

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 maximale Größe hinzuzufügen. Wenn keine weiteren Container hinzugefügt werden können, versucht die ClfsMgmtHandleLogFileFull-Routine , vorhandenen Speicherplatz durch Aufrufen einer oder mehrerer ClfsAdvanceTailCallback-Funktionen des Clients frei zu geben.

Wenn die ClfsMgmtHandleLogFileFull-Routine STATUS_PENDING zurückgibt, wird die ClfsLogGrowthCompleteCallback-Funktion des Clients aufgerufen, wenn die Anforderung, Speicherplatz im Protokoll zu schaffen, abgeschlossen wurde.

Wenn die ClfsMgmtHandleLogFileFull-Routine STATUS_LOG_FULL_HANDLER_IN_PROGRESS zurückgibt, hat der Client bereits die CLFS-Verwaltung aufgefordert, eine vollständige Protokolldateibedingung zu behandeln. Die ClfsLogGrowthCompleteCallback-Funktion des Clients wird kein 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, versucht die CLFS-Verwaltung, Speicherplatz im Protokoll frei zu geben, und ruft die ClfsLogGrowthCompleteCallback-Funktion des Clients auf, wenn die vollständige Bedingung der Protokolldatei behandelt wurde. Wenn das Protokoll angeheftet ist, ruft die CLFS-Verwaltung die ClfsLogGrowthCompleteCallback-Funktion des Clients auf, wobei der LogIsPinned-Parameter auf TRUE festgelegt ist, 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ückgibt.

Wenn die ClfsMgmtHandleLogFileFull-Routine STATUS_PENDING zurückgibt, sollten Sie die ClfsMgmtHandleLogFileFull-Routine für diesen Client erst erneut aufrufen, wenn die ClfsLogGrowthCompleteCallback-Funktion des Clients aufgerufen wurde.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek Clfs.lib
DLL Clfs.sys
IRQL IRQL <= APC_LEVEL

Weitere Informationen

ClfsAdvanceTailCallback

ClfsLogGrowthCompleteCallback

ClfsMgmtRegisterManagedClient