Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Diagnostics / Eventing / EventDescriptor.cs / 1305376 / EventDescriptor.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
namespace System.Diagnostics.Eventing
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
[System.Runtime.CompilerServices.FriendAccessAllowed]
internal struct EventDescriptorInternal
{
# region private
[FieldOffset(0)]
private ushort m_id;
[FieldOffset(2)]
private byte m_version;
[FieldOffset(3)]
private byte m_channel;
[FieldOffset(4)]
private byte m_level;
[FieldOffset(5)]
private byte m_opcode;
[FieldOffset(6)]
private ushort m_task;
[FieldOffset(8)]
private long m_keywords;
#endregion
public EventDescriptorInternal(
int id,
byte version,
byte channel,
byte level,
byte opcode,
int task,
long keywords
)
{
if (id < 0)
{
throw new ArgumentOutOfRangeException("id", SRETW.GetString(SRETW.ArgumentOutOfRange_NeedNonNegNum));
}
if (id > ushort.MaxValue)
{
throw new ArgumentOutOfRangeException("id", SRETW.GetString(SRETW.ArgumentOutOfRange_NeedValidId, 1, ushort.MaxValue));
}
m_id = (ushort)id;
m_version = version;
m_channel = channel;
m_level = level;
m_opcode = opcode;
m_keywords = keywords;
if (task < 0)
{
throw new ArgumentOutOfRangeException("task", SRETW.GetString(SRETW.ArgumentOutOfRange_NeedNonNegNum));
}
if (task > ushort.MaxValue)
{
throw new ArgumentOutOfRangeException("task", SRETW.GetString(SRETW.ArgumentOutOfRange_NeedValidId, 1, ushort.MaxValue));
}
m_task = (ushort)task;
}
public int EventId {
get {
return m_id;
}
}
public byte Version
{
get
{
return m_version;
}
}
public byte Channel
{
get
{
return m_channel;
}
}
public byte Level
{
get
{
return m_level;
}
}
public byte Opcode
{
get
{
return m_opcode;
}
}
public int Task
{
get
{
return m_task;
}
}
public long Keywords
{
get
{
return m_keywords;
}
}
public override bool Equals(object obj)
{
if (!(obj is EventDescriptorInternal))
return false;
return Equals((EventDescriptorInternal) obj);
}
public override int GetHashCode()
{
return m_id ^ m_version ^ m_channel ^ m_level ^ m_opcode ^ m_task ^ (int)m_keywords;
}
public bool Equals(EventDescriptorInternal other)
{
if ((m_id != other.m_id) ||
(m_version != other.m_version) ||
(m_channel != other.m_channel) ||
(m_level != other.m_level) ||
(m_opcode != other.m_opcode) ||
(m_task != other.m_task) ||
(m_keywords != other.m_keywords))
{
return false;
}
return true;
}
public static bool operator ==(EventDescriptorInternal event1, EventDescriptorInternal event2)
{
return event1.Equals(event2);
}
public static bool operator !=(EventDescriptorInternal event1, EventDescriptorInternal event2)
{
return !event1.Equals(event2);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlDataSource.cs
- LazyTextWriterCreator.cs
- SrgsRule.cs
- BamlLocalizableResource.cs
- CodeChecksumPragma.cs
- RsaKeyIdentifierClause.cs
- SmtpMail.cs
- TreeNodeEventArgs.cs
- TableHeaderCell.cs
- PageThemeParser.cs
- DataServiceQueryContinuation.cs
- ScriptingWebServicesSectionGroup.cs
- CursorConverter.cs
- DBDataPermission.cs
- AssemblyCache.cs
- Attributes.cs
- ContextProperty.cs
- RenderOptions.cs
- SubtreeProcessor.cs
- HtmlGenericControl.cs
- DefaultTextStore.cs
- Soap.cs
- CloseCryptoHandleRequest.cs
- ApplicationSettingsBase.cs
- FormParameter.cs
- DatatypeImplementation.cs
- SqlCacheDependency.cs
- GcSettings.cs
- DataPagerFieldCommandEventArgs.cs
- ErrorRuntimeConfig.cs
- SecurityRuntime.cs
- ErrorRuntimeConfig.cs
- SourceFileInfo.cs
- ContextMenuStrip.cs
- KeyBinding.cs
- DataObjectAttribute.cs
- InvalidWMPVersionException.cs
- AlignmentXValidation.cs
- FlowDocumentPageViewerAutomationPeer.cs
- ProjectionRewriter.cs
- SafeProcessHandle.cs
- ItemContainerProviderWrapper.cs
- ScaleTransform.cs
- CommonDialog.cs
- ControlBindingsCollection.cs
- WebPartEditorCancelVerb.cs
- DesignerVerb.cs
- BinaryObjectWriter.cs
- SingleConverter.cs
- RenderData.cs
- initElementDictionary.cs
- EllipseGeometry.cs
- ValidatingPropertiesEventArgs.cs
- GenericWebPart.cs
- PagePropertiesChangingEventArgs.cs
- DefaultBinder.cs
- LightweightCodeGenerator.cs
- TypeSystem.cs
- BindingUtils.cs
- KnownColorTable.cs
- ItemCheckedEvent.cs
- CreateParams.cs
- AlphabetConverter.cs
- WebConfigurationHost.cs
- nulltextnavigator.cs
- uribuilder.cs
- GroupBox.cs
- WebPartManagerDesigner.cs
- FillRuleValidation.cs
- XmlSerializationReader.cs
- SQLSingleStorage.cs
- GregorianCalendar.cs
- BitmapInitialize.cs
- SystemDropShadowChrome.cs
- ObjectSet.cs
- TemplatedAdorner.cs
- ByteArrayHelperWithString.cs
- QuadTree.cs
- EventBuilder.cs
- basenumberconverter.cs
- BindValidator.cs
- Validator.cs
- TabControlCancelEvent.cs
- RemotingException.cs
- WebPartZone.cs
- oledbmetadatacolumnnames.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- Substitution.cs
- XmlAttributeAttribute.cs
- Internal.cs
- AssemblyInfo.cs
- WebCategoryAttribute.cs
- GPStream.cs
- DataGridTableStyleMappingNameEditor.cs
- DocumentApplicationState.cs
- Triangle.cs
- ReverseInheritProperty.cs
- CompletionCallbackWrapper.cs
- IntranetCredentialPolicy.cs
- XmlSchemaProviderAttribute.cs