ClfsMgmtSetLogFileSize-Funktion (wdm.h)
Die ClfsMgmtSetLogFileSize-Routine fügt einem Protokoll Container 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 darstellt, oder auf einen Stream innerhalb des Protokolls, dem 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ößesrichtlinie. Weitere Informationen zu dieser Richtlinie finden Sie unter ClfsMgmtInstallPolicy.
Wenn eine Richtlinie für die Mindestgröße nicht installiert ist, tritt eine der folgenden Aktionen auf:
|
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 mindeste Anzahl von Containern ist, die in der installierten Richtlinie angegeben 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 in der installierten Richtlinie angegeben ist, wird das Protokoll nur bis zur von der Richtlinie angegebenen maximalen Anzahl von Containern erweitert, und der Aufruf ist ohne Fehler erfolgreich. |
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 in der Richtlinie für die maximale Größe angegeben ist, und der Aufruf wird ohne Fehler ausgeführt. |
Verwenden Sie den Parameter ResultSizeInContainers , um die tatsächliche Protokollgröße zu bestimmen, die sich möglicherweise von der angeforderten Größe unterscheidet.
[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 |
---|---|
|
Die Größe der Protokolldatei wurde festgelegt. Der Parameter ResultSizeInContainers enthält die aktuelle Größe des Protokolls. |
|
Die CLFS-Verwaltung konnte die Protokolldateigröße nicht festlegen. |
|
Der Wert des LogFile-Parameters ist NULL, oder der Inhalt des NewSizeInContainers-Parameters ist 1. |
|
Der Wert des Parameters NewSizeInContainers ist NULL. |
|
Es besteht ein Konflikt zwischen den Richtlinien für die maximale Größe und der Mindestgröße für das Protokoll. |
|
Die CLFS-Verwaltung konnte nicht genügend Container löschen, um NewSizeInContainers zu erreichen. |
|
Die CLFS-Verwaltung konnte dem Protokoll nicht genügend Container hinzufügen, um NewSizeInContainers zu erreichen. Dies kann auf einen Konflikt mit einer Richtlinie zurückzuführen sein, die vom Client festgelegt wurde. |
Diese Routine kann auch andere NTSTATUS-Werte zurückgeben.
Hinweise
Die ClfsMgmtSetLogFileSize-Routine wird in der Regel nur verwendet, wenn ein Client gestartet oder beendet wird. Rufen Sie die ClfsMgmtSetLogFileSize-Routine nicht aus Ihrer ClfsAdvanceTailCallback-Funktion auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows Server 2003 R2 und Windows Vista. |
Zielplattform | Desktop |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |