Freigeben über


ClfsMgmtSetLogFileSize-Funktion (wdm.h)

Die ClfsMgmtSetLogFileSize Routine fügt Container zu einem Protokoll hinzu oder löscht Container aus einem Protokoll.

Syntax

CLFSUSER_API NTSTATUS ClfsMgmtSetLogFileSize(
  [in]           PLOG_FILE_OBJECT                     LogFile,
  [in]           PULONGLONG                           NewSizeInContainers,
  [out]          PULONGLONG                           ResultingSizeInContainers,
  [in, optional] PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK CompletionRoutine,
  [in, optional] PVOID                                CompletionRoutineData
);

Parameter

[in] LogFile

Ein Zeiger auf eine LOG_FILE_OBJECT-Struktur, die das CLFS-Protokoll oder einen Datenstrom im Protokoll darstellt, zu der Container hinzugefügt oder gelöscht werden.

[in] NewSizeInContainers

Ein Zeiger auf die angeforderte Protokollgröße. Der Aufrufer legt diesen Parameter auf einen der folgenden Werte fest.

Wert Bedeutung
0 Erzwingen Sie die Mindestgrößenrichtlinie. Weitere Informationen zu dieser Richtlinie finden Sie unter ClfsMgmtInstallPolicy.

Wenn keine Mindestgrößenrichtlinie installiert ist, tritt eine der folgenden Aktionen auf:

  • Wenn das Protokoll derzeit weniger als 2 Container enthält, wird das Protokoll auf eine Größe von 2 Containern erweitert.
  • Wenn das Protokoll derzeit über 2 oder mehr Container verfügt, werden keine Änderungen vorgenommen, und der Aufruf ist erfolgreich.
Wenn eine Mindestgrößenrichtlinie installiert ist, tritt eine der folgenden Aktionen auf:
  • Wenn das Protokoll derzeit weniger als die Mindestanzahl von Containern aufweist, die durch die Richtlinie für die Mindestgröße angegeben sind, wird das Protokoll auf die vom Richtlinien angegebene Mindestanzahl von Containern erweitert.
  • Wenn die Anzahl der Container im Protokoll größer oder gleich der Mindestanzahl von Containern ist, die durch die Richtlinie für die Mindestgröße angegeben wurden, werden keine Änderungen vorgenommen, und der Aufruf ist ohne Fehler erfolgreich.
1 Ungültiger Wert. Der Aufruf schlägt fehl und gibt STATUS_INVALID_VALUE zurück.
2 bis 1023 Die gewünschte Größe des Protokolls, ausgedrückt als Die Anzahl der Container.

Wenn diese Zahl kleiner als die Mindestanzahl der durch die installierte Richtlinie angegebenen Container ist, schlägt der Aufruf mit ERROR_COULD_NOT_RESIZE_LOG fehl.

Wenn diese Zahl größer als die maximale Anzahl von Containern ist, die durch die installierte Richtlinie angegeben wurden, wird das Protokoll nur so weit erweitert, bis die vom Richtlinien angegebene maximale Anzahl von Containern und der Aufruf ohne Fehler erfolgreich ist.

1024 bis MAXULONGLONG Wenn keine Richtlinie für maximale Größe installiert ist, schlägt der Aufruf fehl und gibt ERROR_LOG_POLICY_CONFLICT zurück.

Wenn eine Richtlinie für maximale Größe installiert ist, wird das Protokoll auf die maximale Anzahl von Containern erweitert, die durch die Richtlinie für maximale Größe angegeben wurden, und der Aufruf ist ohne Fehler erfolgreich.

 

Um die tatsächliche Protokollgröße zu ermitteln, die sich möglicherweise von der angeforderten Größe unterscheidet, verwenden Sie den parameter ResultSizeInContainers.

[out] ResultingSizeInContainers

Ein Zeiger auf die resultierende Protokollgröße. Bei erfolgreicher Ausführung schreibt die Routine die tatsächliche Größe des Protokolls, ausgedrückt als die Anzahl der Container im Protokoll, in den Speicherort, auf den dieser Parameter verweist.

[in, optional] CompletionRoutine

Wird nicht verwendet. Auf NULL festgelegt.

[in, optional] CompletionRoutineData

Wird nicht verwendet. Auf NULL festgelegt.

Rückgabewert

Die ClfsMgmtSetLogFileSize Routine gibt einen der folgenden NTSTATUS-Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Größe der Protokolldatei wurde festgelegt. Der parameter ResultSizeInContainers enthält die aktuelle Größe des Protokolls.
STATUS_UNSUCCESSFUL
Die CLFS-Verwaltung konnte die Protokolldateigröße nicht festlegen.
STATUS_INVALID_PARAMETER_1
Der Wert des LogFile--Parameters ist NULL-, oder der Inhalt des NewSizeInContainers Parameter ist 1.
STATUS_INVALID_PARAMETER_2
Der Wert des NewSizeInContainers--Parameters ist NULL-.
STATUS_LOG_POLICY_INVALID
Es besteht ein Konflikt zwischen den Richtlinien für die maximale Größe und der Mindestgröße für das Protokoll.
STATUS_COULD_NOT_RESIZE_LOG
Die CLFS-Verwaltung konnte nicht genügend Container löschen, um NewSizeInContainerszu erreichen.
STATUS_LOG_POLICY_CONFLICT
Die CLFS-Verwaltung konnte dem Protokoll nicht genügend Container hinzufügen, um NewSizeInContainerszu erreichen. Dies kann auf einen Konflikt mit einer Richtlinie zurückzuführen sein, die der Client festgelegt hat.
 

Diese Routine kann auch andere NTSTATUS-Wertezurückgeben.

Bemerkungen

Die ClfsMgmtSetLogFileSize Routine wird normalerweise nur verwendet, wenn ein Client gestartet oder beendet wird. Rufen Sie die ClfsMgmtSetLogFileSize Routine nicht in Ihrer ClfsAdvanceTailCallback- funktion auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Server 2003 R2 und Windows Vista.
Zielplattform- Desktop
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library Clfs.lib
DLL- Clfs.sys
IRQL- <= APC_LEVEL

Siehe auch

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy