Fonction ClfsAddLogContainerSet (wdm.h)

La routine ClfsAddLogContainerSet ajoute atomiquement un ensemble de conteneurs à un journal CLFS.

Syntaxe

CLFSUSER_API NTSTATUS ClfsAddLogContainerSet(
  [in]           PLOG_FILE_OBJECT plfoLog,
  [in]           USHORT           cContainers,
  [in, optional] PULONGLONG       pcbContainer,
  [in]           PUNICODE_STRING  rguszContainerPath
);

Paramètres

[in] plfoLog

Pointeur vers une structure LOG_FILE_OBJECT qui représente le journal auquel les conteneurs seront ajoutés. L’appelant a précédemment obtenu ce pointeur en appelant ClfsCreateLogFile.

[in] cContainers

Nombre de conteneurs dans l’ensemble. Il s’agit du nombre d’éléments dans le tableau rguszContainerPath .

[in, optional] pcbContainer

Pointeur vers une variable de type ULONGLONG. Le rôle de ce paramètre dépend si le journal a actuellement au moins un conteneur.

  • Si le journal n’a actuellement aucun conteneur, l’appelant fournit un entier positif qui correspond à la taille demandée, en octets, d’un conteneur individuel. CLFS crée des conteneurs dont la taille demandée est arrondie à un multiple de 512 Ko (pour un journal dédié) ou de 1 Mo (pour un journal multiplexé).
  • Si le journal a actuellement au moins un conteneur et que ce paramètre est le pointeur NULL , CLFS crée de nouveaux conteneurs de la même taille que les conteneurs existants. (Tous les conteneurs d’un journal doivent avoir la même taille.)
  • Si le journal a actuellement au moins un conteneur et que ce paramètre est un pointeur valide, l’appelant fournit un entier positif qui correspond à la taille demandée, en octets, d’un conteneur individuel. La taille demandée est arrondie à un multiple de 512 Ko (pour un journal dédié) ou de 1 Mo (pour un journal partagé). Si la taille arrondie est au moins aussi grande que la taille de conteneur existante, CLFS crée de nouveaux conteneurs de la même taille que les conteneurs existants. En cas de retour réussi, ce paramètre reçoit la taille de conteneur existante. Si la taille arrondie est inférieure à la taille de conteneur existante, ClfsAddLogContainerSet échoue.

[in] rguszContainerPath

Pointeur vers un tableau de structures UNICODE_STRING . Chaque chaîne fournit le nom de chemin d’accès de l’un des nouveaux conteneurs. Le nombre d’éléments dans le tableau est donné par cContainers. Un chemin d’accès donné peut être absolu ou relatif à l’emplacement du fichier journal de base. Les chemins d’accès relatifs au fichier journal de base doivent commencer par CLFS_CONTAINER_RELATIVE_PREFIX, qui est le littéral de chaîne (L"%BLF%\ »).

Valeur retournée

ClfsAddLogContainer retourne STATUS_SUCCESS si elle réussit ; sinon, il retourne l’un des codes d’erreur définis dans Ntstatus.h.

Remarques

Un conteneur est une étendue contiguë sur un stockage stable. Par exemple, un conteneur peut être un fichier contigu sur le disque. Un journal est un ensemble de conteneurs ainsi qu’un fichier journal de base. Pour plus d’informations sur les conteneurs, consultez Stockage stable CLFS.

Un conteneur spécifié par un chemin d’accès relatif au fichier journal de base doit se trouver dans le même répertoire que le fichier journal de base ou un sous-répertoire du fichier journal de base. Les répertoires « » et « ». ne sont pas autorisés dans un chemin relatif.

Un journal peut avoir certains conteneurs avec des chemins absolus et d’autres conteneurs avec des chemins relatifs.

Les conteneurs sont créés en mode non compressé et sont initialisés avec des zéros.

Un journal doit avoir au moins deux conteneurs pour qu’une E/S puisse y être effectuée.

Pour obtenir une explication des concepts et de la terminologie CLFS, consultez Common Log File System.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Server 2003 R2, Windows Vista et versions ultérieures de Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête wdm.h (inclure Wdm.h)
Bibliothèque Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

Voir aussi

ClfsAddLogContainer

ClfsRemoveLogContainerSet