Partager via


CreateLogFile, fonction (clfsw32.h)

Crée ou ouvre un journal. Le journal peut être dédié ou multiplexé, et cela dépend du nom du journal. Utilisez la fonction closeHandle pour fermer le journal.

Syntaxe

CLFSUSER_API HANDLE CreateLogFile(
  [in]           LPCWSTR               pszLogFileName,
  [in]           ACCESS_MASK           fDesiredAccess,
  [in]           DWORD                 dwShareMode,
  [in, optional] LPSECURITY_ATTRIBUTES psaLogFile,
  [in]           ULONG                 fCreateDisposition,
  [in]           ULONG                 fFlagsAndAttributes
);

Paramètres

[in] pszLogFileName

Nom du journal.

Ce nom est spécifié lors de la création du journal à l’aide de CreateLogFile. L’exemple suivant identifie le format à utiliser.

journal :<LogName>[ ::<LogStreamName>]

Par exemple : le chemin d’accès « LOG :c :\MyDirectory\MyLog » crée le fichier « c :\MyDirectory\MyLog.blf ». Le chemin " ?? \LOG :\HarddiskVolume1\MyDirectory\MyLog » crée le fichier « \.\HarddiskVolume1\MyDirectory\MyLog.blf », comme le chemin « \clfs\Device\HarddiskVolume1\MyDirectory\MyLog ».

< logName> correspond à un chemin de fichier valide dans le système de fichiers, et <LogStreamName> est le nom unique d’un flux de journal dans le journal. Pour plus d’informations, consultez types de journaux.

[in] fDesiredAccess

Type d’accès que le handle retourné doit accéder à l’objet journal.

Valeur Signification
GENERIC_READ
Spécifie l’accès en lecture à l’objet.
GENERIC_WRITE
Spécifie l’accès en écriture à l’objet.
DELETE
Spécifier l’accès à la suppression du journal
 

Une OU au niveau du bit de deux ou plusieurs de ces indicateurs permet de combiner des combinaisons de lecture, d’écriture et de suppression de l’accès à l’objet.

Remarque Vous devez spécifier 'accès DELETE pour pouvoir supprimer le journal.

 
Windows Server 2003 R2 : Ce paramètre doit être défini sur GENERIC_WRITE.

[in] dwShareMode

Mode de partage d’un fichier.

Un client ne peut pas demander un mode de partage qui est en conflit avec n’importe quel mode spécifié dans toute requête ouverte précédente qui a un handle ouvert.

Si ce paramètre est égal à zéro et que la fonction réussit, l’objet ne peut pas être partagé et ne peut pas être ouvert à nouveau tant que le handle n’est pas fermé.

Ce paramètre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
FILE_SHARE_DELETE
Active les opérations d’ouverture sur l’objet pour demander l’accès à la suppression. Sans cette valeur, d’autres processus ne peuvent pas ouvrir l’objet si l’accès à la suppression est demandé.
FILE_SHARE_READ
Active les opérations ouvertes sur l’objet pour demander l’accès en lecture. Sans cette valeur, d’autres processus ne peuvent pas ouvrir l’objet si l’accès en lecture est demandé.
FILE_SHARE_WRITE
Active les opérations ouvertes sur l’objet pour demander l’accès en écriture. Sans cette valeur, d’autres processus ne peuvent pas ouvrir l’objet si l’accès en écriture est demandé.

[in, optional] psaLogFile

Pointeur vers une structure SECURITY_ATTRIBUTES qui spécifie les attributs de sécurité d’un journal.

Elle détermine si le handle retourné peut être hérité par les processus enfants. Si ce paramètre est NULL, le handle ne peut pas être hérité.

Le lpSecurityDescriptor membre de SECURITY_ATTRIBUTES spécifie un descripteur de sécurité pour le nouveau handle de journal. Si psaLogFile est NULL, l’objet obtient un descripteur de sécurité par défaut. Les listes de contrôle d’accès (ACL) dans le descripteur de sécurité par défaut pour un journal proviennent du jeton principal ou d’emprunt d’identité du créateur.

[in] fCreateDisposition

Une action à entreprendre.

Ce paramètre peut être l’une des valeurs suivantes.

Valeur Signification
CREATE_NEW
Crée un fichier et échoue si le fichier existe déjà.
OPEN_EXISTING
Ouvre un fichier existant et échoue si le fichier n’existe pas.
OPEN_ALWAYS
Ouvre un fichier existant ou crée le fichier s’il n’existe pas.

[in] fFlagsAndAttributes

Attributs et indicateurs de fichier pour le fichier.

Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
FILE_ATTRIBUTE_ARCHIVE
Ce journal non éphémère doit être archivé.

Si cet indicateur n’est pas fourni, le journal n’a pas besoin d’être archivé et une queue d’archivage n’est pas conservée pour le recyclage des conteneurs de journaux.

FILE_FLAG_OVERLAPPED
Si l’indicateur FILE_FLAG_OVERLAPPED est défini, toutes les autres valeurs d’indicateur sont ignorées.

La spécification de FILE_FLAG_OVERLAPPED signifie qu’un fichier est ouvert pour les E/S qui se chevauchent, ce qui permet à plusieurs opérations d’E/S d’être effectuées sur le handle de journal. Si cet indicateur est défini lors de la création d’un journal, tous les appels d’E/S asynchrones à ce journal doivent spécifier une structure superposée et se synchroniser avec la fin différée de l’appel.

Valeur de retour

Si la fonction réussit, la valeur de retour est un handle dans le journal.

Si la fonction échoue, la valeur de retour est INVALID_HANDLE_VALUE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

La liste suivante identifie les codes d’erreur possibles :

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 R2 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête clfsw32.h
bibliothèque Clfsw32.lib
DLL Clfsw32.dll

Voir aussi

ACCESS_MASK

AddLogContainer

AddLogContainerSet

CLFS_CONTAINER_INFORMATION

fonctions de système de fichiers journaux courantes

CreateLogMarshallingArea

SECURITY_ATTRIBUTES