Partager via


Structure EVENTLOGRECORD (winnt.h)

Contient des informations sur un enregistrement d’événement retourné par la fonction ReadEventLog .

Syntaxe

typedef struct _EVENTLOGRECORD {
  DWORD Length;
  DWORD Reserved;
  DWORD RecordNumber;
  DWORD TimeGenerated;
  DWORD TimeWritten;
  DWORD EventID;
  WORD  EventType;
  WORD  NumStrings;
  WORD  EventCategory;
  WORD  ReservedFlags;
  DWORD ClosingRecordNumber;
  DWORD StringOffset;
  DWORD UserSidLength;
  DWORD UserSidOffset;
  DWORD DataLength;
  DWORD DataOffset;
} EVENTLOGRECORD, *PEVENTLOGRECORD;

Membres

Length

Taille de cet enregistrement d’événement, en octets. Notez que cette valeur est stockée aux deux extrémités de l’entrée pour faciliter le déplacement vers l’avant ou vers l’arrière dans le journal. La longueur inclut tous les octets de pavé insérés à la fin de l’enregistrement pour l’alignement DWORD .

Reserved

Valeur DWORD qui est toujours définie sur ELF_LOG_SIGNATURE (la valeur est 0x654c664c), qui est ASCII pour eLfL.

RecordNumber

Numéro de l’enregistrement. Cette valeur peut être utilisée avec l’indicateur EVENTLOG_SEEK_READ dans la fonction ReadEventLog pour commencer la lecture à un enregistrement spécifié. Pour plus d’informations, consultez Enregistrements du journal des événements.

TimeGenerated

Heure à laquelle cette entrée a été soumise. Ce temps est mesuré en nombre de secondes écoulées depuis 00 :00 :00 le 1er janvier 1970, heure universelle coordonnée.

TimeWritten

Heure à laquelle cette entrée a été reçue par le service à écrire dans le journal. Ce temps est mesuré en nombre de secondes écoulées depuis 00 :00 :00 le 1er janvier 1970, heure universelle coordonnée.

EventID

Identificateur de l'événement. La valeur est spécifique à la source d’événement pour l’événement et est utilisée avec le nom de la source pour rechercher une chaîne de description dans le fichier de message de la source d’événement. Pour plus d’informations, consultez Identificateurs d’événements.

EventType

Type de l'événement. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
EVENTLOG_ERROR_TYPE
0x0001
Événement d’erreur
EVENTLOG_AUDIT_FAILURE
0x0010
Événement d’audit d’échec
EVENTLOG_AUDIT_SUCCESS
0x0008
Événement d’audit de réussite
EVENTLOG_INFORMATION_TYPE
0x0004
Événement d’information
EVENTLOG_WARNING_TYPE
0x0002
Événement d’avertissement
 

Pour plus d’informations, consultez Types d’événements.

NumStrings

Nombre de chaînes présentes dans le journal (à la position indiquée par StringOffset). Ces chaînes sont fusionnées dans le message avant qu’il ne soit affiché à l’utilisateur.

EventCategory

Catégorie de cet événement. La signification de cette valeur dépend de la source d’événement. Pour plus d’informations, consultez Catégories d’événements.

ReservedFlags

Réservé.

ClosingRecordNumber

Réservé.

StringOffset

Décalage des chaînes de description dans cet enregistrement du journal des événements.

UserSidLength

Taille du membre UserSid , en octets. Cette valeur peut être égale à zéro si aucun identificateur de sécurité n’a été fourni.

UserSidOffset

Décalage de l’identificateur de sécurité (SID) dans cet enregistrement du journal des événements. Pour obtenir le nom d’utilisateur de ce SID, utilisez la fonction LookupAccountSid .

DataLength

Taille des données spécifiques à l’événement (à la position indiquée par DataOffset), en octets.

DataOffset

Décalage des informations spécifiques à l’événement dans cet enregistrement du journal des événements, en octets. Ces informations peuvent être spécifiques (un pilote de disque peut enregistrer le nombre de nouvelles tentatives, par exemple), suivies d’informations binaires spécifiques à l’événement journalisé et à la source qui a généré l’entrée.

Remarques

Les membres définis sont suivis des chaînes de remplacement du message identifié par l’identificateur d’événement, des informations binaires, de quelques octets de pavé pour s’assurer que l’entrée complète se trouve sur une limite DWORD et enfin de la longueur de l’entrée de journal à nouveau. Étant donné que les chaînes et les informations binaires peuvent être de n’importe quelle longueur, aucun membre de structure n’est défini pour les référencer. La déclaration de cette structure dans Winnt.h décrit ces membres comme suit :

    // WCHAR SourceName[]
    // WCHAR Computername[]
    // SID   UserSid
    // WCHAR Strings[]
    // BYTE  Data[]
    // CHAR  Pad[]
    // DWORD Length;

Le nom de la source est une chaîne de longueur variable qui spécifie le nom de la source d’événement. Le nom de l’ordinateur est le nom de l’ordinateur qui a généré l’événement. Il peut être suivi de quelques octets de remplissage afin que le SID utilisateur soit aligné sur une limite DWORD . Le SID utilisateur identifie l’utilisateur actif au moment où cet événement a été journalisé. Si UserSidLength est égal à zéro, ce champ peut être vide.

L’identificateur d’événement ainsi que le nom de la source et un identificateur de langue identifient une chaîne qui décrit l’événement plus en détail. Les chaînes sont utilisées comme chaînes de remplacement et sont fusionnées dans la chaîne de message pour créer un message complet. Les chaînes de message sont contenues dans un fichier de message spécifié dans l’entrée source dans le Registre. Pour obtenir la chaîne de message appropriée à partir du fichier de message, chargez le fichier de message avec la fonction LoadLibrary et utilisez la fonction FormatMessage .

Les informations binaires sont des informations spécifiques à l’événement. Il peut s’agir du contenu des registres du processeur lorsqu’un pilote de périphérique a reçu une erreur, d’un vidage d’un paquet non valide reçu du réseau, d’un vidage de toutes les structures d’un programme (lorsque la zone de données a été détectée comme étant endommagée), etc. Ces informations doivent être utiles au rédacteur du pilote de périphérique ou de l’application pour rechercher les bogues ou les interruptions non autorisées dans l’application.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête winnt.h (inclure Windows.h)

Voir aussi

LookupAccountSid

ReadEventLog