Freigeben über


AddLogContainerSet-Funktion (clfsw32.h)

Fügt dem physischen Protokoll, das dem Protokollhandle zugeordnet ist, mehrere Protokollcontainer hinzu, wenn der aufrufende Prozess Zugriff auf das Protokollhandle hat. Das Hinzufügen von Containern ermöglicht es einem Client, die Größe eines Protokolls zu erhöhen.

Syntax

CLFSUSER_API BOOL AddLogContainerSet(
  [in]                HANDLE     hLog,
  [in]                USHORT     cContainer,
  [in, optional]      PULONGLONG pcbContainer,
  [in]                LPWSTR     *rgwszContainerPath,
  [in, out, optional] LPVOID     pReserved
);

Parameter

[in] hLog

Das Handle für ein geöffnetes Protokoll, das aus CreateLogFile mit Berechtigungen zum Hinzufügen eines Protokollcontainers abgerufen wird.

Die Datei kann dediziert oder multiplexiert sein.

[in] cContainer

Die Anzahl der Container im rgwszContainerPath-Array .

Dieser Wert muss nichtzero sein. Ein Protokoll muss über mindestens zwei Container verfügen, bevor E/A-Vorgänge ausgeführt werden können.

[in, optional] pcbContainer

Die Größe des Containers in Bytes.

Die Mindestgröße beträgt 512 KB für normale Protokolle und 1024 KB für multiplexte Protokolle. Die maximale Größe beträgt ca. 4 Gigabyte (GB).

Dieser Parameter ist erforderlich, wenn die Container einem neu erstellten Protokoll hinzugefügt werden. Wenn ein Container bereits erstellt wurde, kann dieser Parameter NULL oder ein Wert sein, der mindestens so groß wie die Größe des ersten Containers ist.

Protokollcontainergrößen sind ein Vielfaches der Protokollregionsgröße (512 KB). Wenn Sie einer neuen Datei einen Container hinzufügen, rundet die AddLogContainer-Funktion die Größe des Containers auf die nächste Begrenzung von 512 KB auf und gibt diese Größe im Wert zurück, auf den pcbContainer verweist.

Wenn das Protokoll bereits über mindestens einen Container verfügt und der Wert von *pcbContainer mindestens so groß ist wie die aktuelle Containergröße, erstellt die Funktion alle Container mit der aktuellen internen Größe und gibt diese Größe in *pcbContainer zurück.

[in] rgwszContainerPath

Ein Array von cContainer-Pfadnamen für Container.

Jedes Element im Array ist eine Breitzeichenzeichenfolge, die einen gültigen Pfad für den neuen Container im Protokollvolume enthält.

[in, out, optional] pReserved

Reserviert. Legen Sie Reserviert auf NULL fest.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero, was angibt, dass alle Container erfolgreich dem Protokoll hinzugefügt wurden.

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0, was angibt, dass keiner der Container hinzugefügt wird. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

In der folgenden Liste werden die möglichen Fehlercodes identifiziert:

Hinweise

Die AddLogContainerSet-Funktion ist nicht atomar. Wenn der Vorgang z. B. durch einen ungültigen Pfadnamen unterbrochen wird, gibt der Aufruf von AddLogContainerSet einen Fehler zurück, aber einige Container wurden möglicherweise erstellt. Ihre Anwendung muss sich nach diesem Fehler wiederherstellen, z. B. indem sie bestimmt, welche Container hinzugefügt wurden.

Da AddLogContainerSet mehrere Container hinzufügt, ist es effizienter als wiederholte Aufrufe von AddLogContainer, die nur einen Container hinzufügen.

Container werden in einem nicht komprimierten Modus erstellt und geöffnet und beim Erstellen mit 0 (Nullen) initialisiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile clfsw32.h
Bibliothek Clfsw32.lib
DLL Clfsw32.dll

Weitere Informationen

AddLogContainer

Allgemeine Protokolldateisystemfunktionen

OVERLAPPED