Share via


AddLogContainerSet, fonction (clfsw32.h)

Ajoute plusieurs conteneurs de journaux au journal physique associé au handle de journal, si le processus appelant a accès au handle de journal. L’ajout de conteneurs permet à un client d’augmenter la taille d’un journal.

Syntaxe

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

Paramètres

[in] hLog

Handle d’un journal ouvert obtenu à partir de CreateLogFile avec les autorisations nécessaires pour ajouter un conteneur de journaux.

Le fichier peut être dédié ou multiplexé.

[in] cContainer

Nombre de conteneurs dans le tableau rgwszContainerPath .

Cette valeur doit être différente de zéro. Un journal doit avoir au moins deux conteneurs pour qu’une E/S puisse y être effectuée.

[in, optional] pcbContainer

Taille du conteneur, en octets.

La taille minimale est de 512 Ko pour les journaux normaux et de 1 024 Ko pour les journaux multiplexés. La taille maximale est d’environ 4 gigaoctets (Go).

Ce paramètre est obligatoire si les conteneurs sont ajoutés à un journal nouvellement créé. Si un conteneur est déjà créé, ce paramètre peut avoir la valeur NULL ou une valeur au moins aussi grande que la taille du premier conteneur.

Les tailles de conteneur de journaux sont des multiples de la taille de la région de journal (512 Ko). Lorsque vous ajoutez un conteneur à un nouveau fichier, la fonction AddLogContainer arrondit la taille du conteneur jusqu’à la limite de 512 Ko suivante et retourne cette taille dans la valeur pointée par pcbContainer.

De même, si le journal a déjà au moins un conteneur et que la valeur de *pcbContainer est au moins aussi grande que la taille actuelle du conteneur, la fonction crée tous les conteneurs avec la taille interne actuelle et retourne cette taille dans *pcbContainer.

[in] rgwszContainerPath

Tableau de noms de chemins d’accès cContainer pour les conteneurs.

Chaque élément du tableau est une chaîne à caractères larges qui contient un chemin d’accès valide pour le nouveau conteneur dans le volume de journal.

[in, out, optional] pReserved

Réservé. Définissez Réservé surNULL.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro, ce qui indique que tous les conteneurs sont ajoutés avec succès au journal.

Si la fonction échoue, la valeur de retour est zéro, ce qui indique qu’aucun des conteneurs n’est ajouté. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

La liste suivante identifie les codes d’erreur possibles :

Remarques

La fonction AddLogContainerSet n’est pas atomique. Si l’opération est interrompue, par exemple par un nom de chemin d’accès non valide, l’appel à AddLogContainerSet retourne un échec, mais certains conteneurs peuvent avoir été créés. Votre application doit récupérer après cette erreur, par exemple, en déterminant quels conteneurs ont été ajoutés.

Étant donné que AddLogContainerSet ajoute plusieurs conteneurs, il est plus efficace que d’effectuer des appels répétés à AddLogContainer, qui n’ajoute qu’un seul conteneur.

Les conteneurs sont créés et ouverts en mode non compressé et sont initialisés avec 0 (zéros) lors de leur création.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête clfsw32.h
Bibliothèque Clfsw32.lib
DLL Clfsw32.dll

Voir aussi

AddLogContainer

Fonctions courantes du système de fichiers journaux

OVERLAPPED