Fonction ClfsAddLogContainer (wdm.h)
La routine ClfsAddLogContainer ajoute un conteneur à un journal CLFS.
Syntaxe
CLFSUSER_API NTSTATUS ClfsAddLogContainer(
[in] PLOG_FILE_OBJECT plfoLog,
[in] PULONGLONG pcbContainer,
[in] PUNICODE_STRING puszContainerPath
);
Paramètres
[in] plfoLog
Pointeur vers une structure de LOG_FILE_OBJECT qui représente le journal auquel le conteneur sera ajouté. L’appelant a précédemment obtenu ce pointeur en appelant ClfsCreateLogFile.
[in] 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, du nouveau conteneur. CLFS crée un conteneur qui est la taille demandée 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 un conteneur 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, du nouveau conteneur. 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 la taille arrondie est au moins aussi grande que la taille de conteneur existante, CLFS crée un conteneur 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, ClfsAddLogContainer échoue.
[in] puszContainerPath
Pointeur vers une structure UNICODE_STRING qui fournit le nom du chemin d’accès du nouveau conteneur. Le chemin d’accès 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 |