TRACE_LOGFILE_HEADER structure (evntrace.h)

La structure TRACE_LOGFILE_HEADER contient des informations sur une session de suivi d’événements et ses événements. Il s’agit du format de données brutes des données d’informations de trace dans l’en-tête d’un fichier journal ETW. Il fait également partie des informations retournées par OpenTrace et fournies à BufferCallback pendant le traitement des traces.

Syntaxe

typedef struct _TRACE_LOGFILE_HEADER {
  ULONG                     BufferSize;
  union {
    ULONG Version;
    struct {
      UCHAR MajorVersion;
      UCHAR MinorVersion;
      UCHAR SubVersion;
      UCHAR SubMinorVersion;
    } VersionDetail;
  } DUMMYUNIONNAME;
  ULONG                     ProviderVersion;
  ULONG                     NumberOfProcessors;
  LARGE_INTEGER             EndTime;
  ULONG                     TimerResolution;
  ULONG                     MaximumFileSize;
  ULONG                     LogFileMode;
  ULONG                     BuffersWritten;
  union {
    GUID LogInstanceGuid;
    struct {
      ULONG StartBuffers;
      ULONG PointerSize;
      ULONG EventsLost;
      ULONG CpuSpeedInMHz;
    } DUMMYSTRUCTNAME;
  } DUMMYUNIONNAME2;
#if ...
  PWCHAR                    LoggerName;
#if ...
  PWCHAR                    LogFileName;
#if ...
  RTL_TIME_ZONE_INFORMATION TimeZone;
#else
  LPWSTR                    LoggerName;
#endif
#else
  LPWSTR                    LogFileName;
#endif
#else
  TIME_ZONE_INFORMATION     TimeZone;
#endif
  LARGE_INTEGER             BootTime;
  LARGE_INTEGER             PerfFreq;
  LARGE_INTEGER             StartTime;
  ULONG                     ReservedFlags;
  ULONG                     BuffersLost;
} TRACE_LOGFILE_HEADER, *PTRACE_LOGFILE_HEADER;

Membres

BufferSize

Taille des mémoires tampons de la session de suivi d’événements, en octets.

DUMMYUNIONNAME

DUMMYUNIONNAME.Version

Numéro de version du système d’exploitation dans lequel la trace a été collectée. Il s’agit d’un cumul des membres de VersionDetail. À compter des octets de bas ordre, les deux premiers octets contiennent MajorVersion, les deux octets suivants contiennent MinorVersion, les deux octets suivants contiennent SubVersion et les deux derniers octets contiennent SubMinorVersion.

DUMMYUNIONNAME.VersionDetail

DUMMYUNIONNAME.VersionDetail.MajorVersion

Numéro de version principale du système d’exploitation où la trace a été collectée.

DUMMYUNIONNAME.VersionDetail.MinorVersion

Numéro de version mineure du système d’exploitation où la trace a été collectée.

DUMMYUNIONNAME.VersionDetail.SubVersion

Réservé.

DUMMYUNIONNAME.VersionDetail.SubMinorVersion

Réservé.

ProviderVersion

Numéro de build du système d’exploitation où la trace a été collectée.

NumberOfProcessors

Nombre de processeurs sur le système où la trace a été collectée.

EndTime

Heure à laquelle la session de suivi d’événements s’est arrêtée, par intervalles de 100 nanosecondes depuis minuit, le 1er janvier 1601. Cette valeur peut être 0 si vous consommez des événements en temps réel ou à partir d’un fichier journal qui n’a pas été finalisé (par exemple, n’a pas été correctement fermé).

TimerResolution

Résolution du minuteur matériel, en unités de 100 nanosecondes. Pour l’utilisation, consultez les remarques relatives à EVENT_TRACE_HEADER.

MaximumFileSize

Taille maximale du fichier journal, en mégaoctets.

LogFileMode

Mode de journalisation pour la session de suivi d’événements. Pour obtenir la liste des valeurs, consultez Constantes du mode de journalisation.

BuffersWritten

Nombre total de mémoires tampons écrites par la session de suivi d’événements.

DUMMYUNIONNAME2

DUMMYUNIONNAME2.LogInstanceGuid

Réservé.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.StartBuffers

Réservé.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.PointerSize

Taille par défaut d’un type de données pointeur, en octets.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.EventsLost

Nombre d’événements perdus pendant la session de suivi d’événements. Les événements sont principalement perdus en raison d’une mémoire insuffisante allouée à une session de journalisation de trace ou d’un taux très élevé d’événements entrants.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.CpuSpeedInMHz

Vitesse du processeur, en mégahertz, du système où la trace a été collectée.

Windows 2000 : Ce membre n’est pas pris en charge.

LoggerName

N’utilisez pas ce champ.

Le nom de la session de suivi d’événements est la première chaîne terminée par un caractère Null qui suit cette structure en mémoire.

LogFileName

N’utilisez pas ce champ.

Le nom du fichier journal de suivi des événements est la deuxième chaîne terminée par une valeur Null qui suit cette structure en mémoire. La première chaîne est le nom de la session.

TimeZone

Structure TIME_ZONE_INFORMATION qui contient le fuseau horaire des membres BootTime, EndTime et StartTime .

BootTime

Heure de démarrage du système, par intervalles de 100 nanosecondes depuis minuit, le 1er janvier 1601. BootTime est pris en charge uniquement pour les traces écrites dans la session Global Logger.

PerfFreq

Fréquence du compteur de performances haute résolution, le cas échéant.

StartTime

Heure à laquelle la session de suivi d’événements a démarré, par intervalles de 100 nanosecondes depuis minuit, le 1er janvier 1601.

ReservedFlags

Spécifie le type d’horloge. Pour plus d’informations, consultez le membre ClientContext de WNODE_HEADER.

BuffersLost

Nombre total de mémoires tampons perdues pendant la session de suivi d’événements.

Notes

Veillez à initialiser la mémoire de cette structure sur zéro avant de définir des membres.

Le premier événement d’un fichier journal contient les données définies dans cette structure. Vous pouvez utiliser cette structure pour accéder aux données d’événement ou utiliser la classe MOF EventTrace_Header pour décoder les données d’événement. L’utilisation de cette structure pour lire les données d’événement peut renvoyer des résultats inattendus si le consommateur se trouve sur un ordinateur différent de celui qui a généré le fichier journal ou si le fichier journal a été écrit dans une session WOW (32 bits) sur un ordinateur 64 bits. Cela est dû au fait que les membres LoggerName et LogFileName sont des pointeurs et peuvent varier en taille en fonction du membre PointerSize .

Spécifications

   
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 evntrace.h

Voir aussi

EVENT_TRACE_LOGFILE

LARGE_INTEGER

TIME_ZONE_INFORMATION