ClfsAddLogContainerSet, fonction (wdm.h)
Le 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 obtenu précédemment ce pointeur en appelant ClfsCreateLogFile.
[in] cContainers
Nombre de conteneurs dans l’ensemble. Il s’agit du nombre d’éléments du tableau rguszContainerPath.
[in, optional] pcbContainer
Pointeur vers une variable typée ULONGLONG. Le rôle de ce paramètre dépend du fait que le journal possède au moins un conteneur.
- Si le journal n’a actuellement aucun conteneur, l’appelant fournit un entier positif qui est la taille demandée, en octets, d’un conteneur individuel. CLFS crée des conteneurs qui sont la taille demandée arrondie à un multiple de 512 Ko (pour un journal dédié) ou 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 qui sont 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 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 qui sont 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 du chemin d’accès pour l’un des nouveaux conteneurs. Le nombre d’éléments du tableau est donné par cContainers. Un chemin 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 de retour
ClfsAddLogContainer retourne STATUS_SUCCESS si elle réussit ; sinon, elle 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 de 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 avant que n’importe quelle E/S puisse être effectuée sur celui-ci.
Pour obtenir une explication des concepts et de la terminologie CLFS, consultez Common Log File System.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Server 2003 R2, Windows Vista et versions ultérieures de Windows. |
plateforme cible | Bureau |
d’en-tête | wdm.h (include Wdm.h) |
bibliothèque | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |