Freigeben über


TRACE_LOGFILE_HEADER-Struktur (evntrace.h)

Die TRACE_LOGFILE_HEADER-Struktur enthält Informationen zu einer Ereignisablaufverfolgungssitzung und ihren Ereignissen. Dabei handelt es sich um das Rohdatenformat der Ablaufverfolgungsinformationsdaten im Header einer ETW-Protokolldatei. Es ist auch ein Teil der Informationen, die von OpenTrace zurückgegeben und dem BufferCallback während der Ablaufverfolgungsverarbeitung bereitgestellt werden.

Syntax

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;

Member

BufferSize

Größe der Puffer der Ereignisablaufverfolgungssitzung in Bytes.

DUMMYUNIONNAME

DUMMYUNIONNAME.Version

Versionsnummer des Betriebssystems, unter dem die Ablaufverfolgung erfasst wurde. Dies ist ein Rollup der Member von VersionDetail. Ab den Bytes mit niedriger Reihenfolge enthalten die ersten beiden Bytes MajorVersion, die nächsten beiden Bytes MinorVersion, die nächsten beiden Bytes SubVersion, die nächsten beiden Bytes SubVersion und die letzten beiden Bytes SubMinorVersion.

DUMMYUNIONNAME.VersionDetail

DUMMYUNIONNAME.VersionDetail.MajorVersion

Hauptversionsnummer des Betriebssystems, in dem die Ablaufverfolgung erfasst wurde.

DUMMYUNIONNAME.VersionDetail.MinorVersion

Nebenversionsnummer des Betriebssystems, in dem die Ablaufverfolgung erfasst wurde.

DUMMYUNIONNAME.VersionDetail.SubVersion

Reserviert.

DUMMYUNIONNAME.VersionDetail.SubMinorVersion

Reserviert.

ProviderVersion

Buildnummer des Betriebssystems, in dem die Ablaufverfolgung erfasst wurde.

NumberOfProcessors

Anzahl der Prozessoren auf dem System, auf dem die Ablaufverfolgung erfasst wurde.

EndTime

Zeitpunkt, zu dem die Ereignisablaufverfolgungssitzung beendet wurde, in Intervallen von 100 Nanosekunden seit Mitternacht, 1. Januar 1601. Dieser Wert kann 0 sein, wenn Sie Ereignisse in Echtzeit oder aus einer Protokolldatei nutzen, die nicht abgeschlossen wurde (d. h. nicht ordnungsgemäß geschlossen wurde).

TimerResolution

Auflösung des Hardwaretimers in Einheiten von 100 Nanosekunden. Informationen zur Verwendung finden Sie in den Anmerkungen zu EVENT_TRACE_HEADER.

MaximumFileSize

Maximale Größe der Protokolldatei in Megabyte.

LogFileMode

Protokollierungsmodus für die Ereignisablaufverfolgungssitzung. Eine Liste der Werte finden Sie unter Protokollierungsmoduskonstanten.

BuffersWritten

Gesamtanzahl der Puffer, die von der Ereignisablaufverfolgungssitzung geschrieben werden.

DUMMYUNIONNAME2

DUMMYUNIONNAME2.LogInstanceGuid

Reserviert.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.StartBuffers

Reserviert.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.PointerSize

Standardgröße eines Zeigerdatentyps in Bytes.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.EventsLost

Anzahl der Ereignisse, die während der Ereignisablaufverfolgungssitzung verloren gegangen sind. Ereignisse gehen in erster Linie aufgrund von unzureichendem Speicher verloren, der einer Ablaufverfolgungsprotokollierungssitzung zugewiesen ist oder aufgrund einer sehr hohen Rate eingehender Ereignisse.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.CpuSpeedInMHz

CPU-Geschwindigkeit in Megahertz des Systems, in dem die Ablaufverfolgung erfasst wurde.

Windows 2000: Dieser Member wird nicht unterstützt.

LoggerName

Verwenden Sie dieses Feld nicht.

Der Name der Ereignisablaufverfolgungssitzung ist die erste null-beendete Zeichenfolge nach dieser Struktur im Arbeitsspeicher.

LogFileName

Verwenden Sie dieses Feld nicht.

Der Name der Ereignisablaufverfolgungsprotokolldatei ist die zweite null-beendete Zeichenfolge nach dieser Struktur im Arbeitsspeicher. Die erste Zeichenfolge ist der Name der Sitzung.

TimeZone

Eine TIME_ZONE_INFORMATION-Struktur , die die Zeitzone für die Elemente BootTime, EndTime und StartTime enthält.

BootTime

Zeitpunkt, zu dem das System gestartet wurde, in Intervallen von 100 Nanosekunden seit Mitternacht, 1. Januar 1601. BootTime wird nur für Ablaufverfolgungen unterstützt, die in die globale Protokollierungssitzung geschrieben wurden.

PerfFreq

Häufigkeit des hochauflösenden Leistungsindikators, sofern vorhanden.

StartTime

Zeitpunkt, zu dem die Ereignisablaufverfolgungssitzung gestartet wurde, in Intervallen von 100 Nanosekunden seit Mitternacht, 1. Januar 1601.

ReservedFlags

Gibt den Takttyp an. Ausführliche Informationen finden Sie im ClientContext-Member von WNODE_HEADER.

BuffersLost

Gesamtanzahl der Puffer, die während der Ereignisablaufverfolgungssitzung verloren gegangen sind.

Hinweise

Stellen Sie sicher, dass Sie den Arbeitsspeicher für diese Struktur auf Null initialisieren, bevor Sie Elemente festlegen.

Das erste Ereignis aus einer Protokolldatei enthält die in dieser Struktur definierten Daten. Sie können diese Struktur verwenden, um auf die Ereignisdaten zuzugreifen, oder Sie können die EventTrace_Header MOF-Klasse verwenden, um die Ereignisdaten zu decodieren. Die Verwendung dieser Struktur zum Lesen der Ereignisdaten kann unerwartete Ergebnisse zurückgeben, wenn sich der Consumer auf einem anderen Computer befindet als der, der die Protokolldatei generiert hat, oder wenn die Protokolldatei in einer WOW-Sitzung (32-Bit) auf einem 64-Bit-Computer geschrieben wurde. Dies liegt daran, dass die LoggerName - und LogFileName-Member Zeiger sind und je nach PointerSize-Member in der Größe variieren können.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile evntrace.h

Weitere Informationen

EVENT_TRACE_LOGFILE

LARGE_INTEGER

TIME_ZONE_INFORMATION