EVENT_DESCRIPTOR structure (relogger.h)

The EVENT_DESCRIPTOR structure contains metadata that defines the event.

Syntax

typedef struct _EVENT_DESCRIPTOR {
  USHORT    Id;
  UCHAR     Version;
  UCHAR     Channel;
  UCHAR     Level;
  UCHAR     Opcode;
  USHORT    Task;
  ULONGLONG Keyword;
} EVENT_DESCRIPTOR, *PEVENT_DESCRIPTOR;

Members

Id

The event identifier.

Version

The version of the event. The version indicates a revision to the event definition. You can use this member and the Id member to uniquely identify the event within the scope of a provider.

Channel

The audience for the event (for example, administrator or developer).

Level

The severity or level of detail included in the event (for example, informational or fatal).

Opcode

A step in a sequence of operations being performed within the Task.

Task

A larger unit of work within an application or component (is broader than the Opcode).

Keyword

A bitmask that specifies a logical group of related events. Each bit corresponds to one group. An event may belong to one or more groups. The keyword can contain one or more provider-defined keywords, standard keywords, or both.

Remarks

This structure represents an event defined in the manifest. You do not declare and populate this structure, instead you use the Message Compiler (MC.exe) to generate a header file that declares and populates this structure for each event in the manifest. For details on writing the manifest and generating the header file, see Writing an Instrumentation Manifest and Compiling an Instrumentation Manifest.

For details on the members of this structure, see the attributes of the EventDefinitionType complex type.

You specify this structure when calling EventWrite or EventWriteTransfer to write the event. You can also use it when calling EventEnabled to determine if you should write the event.

This structure is also included in the EVENT_HEADER structure that is returned with the event record when you consume events using the EventRecordCallback callback. For MOF-defined events, the Opcode member contains the event type value. The Version and Level members contain the expected information.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header relogger.h (include Evntprov.h)

See also

EVENT_HEADER

EventDescCreate

EventDescGetChannel

EventDescGetId

EventDescGetKeyword

EventDescGetLevel

EventDescGetOpcode

EventDescGetTask

EventDescGetVersion

EventDescOrKeyword

EventDescSetChannel

EventDescSetId

EventDescSetKeyword

EventDescSetLevel

EventDescSetOpcode

EventDescSetTask

EventDescSetVersion

EventDescZero

EventEnabled

EventWrite

EventWriteTransfer

PROVIDER_EVENT_INFO

TdhEnumerateManifestProviderEvents

TdhGetManifestEventInformation