Export (0) Print
Expand All

EventDescriptor Structure

Contains the metadata that defines an event.

Namespace:  System.Diagnostics.Eventing
Assembly:  System.Core (in System.Core.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public struct EventDescriptor

The EventDescriptor type exposes the following members.

Public methodEventDescriptorInitializes a new instance of the EventDescriptor class.

Public propertyChannelRetrieves the channel value from the event descriptor.
Public propertyEventIdRetrieves the event identifier value from the event descriptor.
Public propertyKeywordsRetrieves the keyword value from the event descriptor.
Public propertyLevelRetrieves the level value from the event descriptor.
Public propertyOpcodeRetrieves the operation code value from the event descriptor.
Public propertyTaskRetrieves the task value from the event descriptor.
Public propertyVersionRetrieves the version value from the event descriptor.

Public methodEqualsIndicates whether this instance and a specified object are equal. (Inherited from ValueType.)
Public methodGetHashCodeReturns the hash code for this instance. (Inherited from ValueType.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodToStringReturns the fully qualified type name of this instance. (Inherited from ValueType.)

This class represents an event defined in the manifest. After writing your manifest, you use the Message Compiler (MC.exe) to generate a resource file. A byproduct of the process is a header file that contains the event descriptor in C, as shown in the following example.

EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR ReadEvent = {0x1, 0x0, 0x10, 0x4, 0x0, 0x0, 0x8000000000000005};

Use the values of the descriptor to create an instance of this class, as shown in the following example. The keyword is an unsigned long value and cannot be cast directly to a long; you must use the unchecked language keyword to allow the assignment.

    readEvent = new EventDescriptor(0x1, 0x0, 0x10, 0x4, 0x0, 0x0, (long)0x8000000000000005);

You use the descriptor when calling the EventProvider.WriteEvent or EventProvider.WriteEvent method.

For more information on writing the manifest and using the message compiler, see Developing Event Publishers.


The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: MayLeakOnAbort. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft