Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- OpCopier.cs
- CompilationLock.cs
- AssemblyBuilder.cs
- GridViewColumnHeaderAutomationPeer.cs
- MimeParameterWriter.cs
- SplitterPanel.cs
- PostBackOptions.cs
- NetworkInformationException.cs
- ToolBarOverflowPanel.cs
- SelectionItemProviderWrapper.cs
- DropDownButton.cs
- ColorContext.cs
- CuspData.cs
- TextMarkerSource.cs
- ObjectList.cs
- SqlBulkCopyColumnMappingCollection.cs
- AttributeAction.cs
- SymbolMethod.cs
- TextBox.cs
- ServiceOperationParameter.cs
- AsnEncodedData.cs
- RightsManagementEncryptedStream.cs
- CompiledQueryCacheEntry.cs
- RequestCacheManager.cs
- OdbcConnectionString.cs
- InfoCardPolicy.cs
- CounterSampleCalculator.cs
- EnumBuilder.cs
- DataBinding.cs
- AnnotationResourceCollection.cs
- NonBatchDirectoryCompiler.cs
- SubtreeProcessor.cs
- WSHttpBindingBase.cs
- BindingEntityInfo.cs
- ObjectRef.cs
- AliasGenerator.cs
- X509AsymmetricSecurityKey.cs
- arclist.cs
- BinaryObjectInfo.cs
- ToolStripItem.cs
- SHA1Managed.cs
- UpdateTracker.cs
- UpdateTracker.cs
- ParallelDesigner.xaml.cs
- SerializationObjectManager.cs
- WebEventCodes.cs
- XmlSchemaAnnotated.cs
- HtmlInputCheckBox.cs
- FileUtil.cs
- WindowsHyperlink.cs
- DataExchangeServiceBinder.cs
- LostFocusEventManager.cs
- SapiRecoContext.cs
- TextTreeRootTextBlock.cs
- TaskExtensions.cs
- MaskedTextProvider.cs
- FileLoadException.cs
- XmlWriterTraceListener.cs
- AuthenticationModuleElementCollection.cs
- MulticastIPAddressInformationCollection.cs
- TokenFactoryFactory.cs
- CheckBoxStandardAdapter.cs
- AttachedPropertyMethodSelector.cs
- RepeaterItem.cs
- TreeViewImageIndexConverter.cs
- StringValueSerializer.cs
- ForceCopyBuildProvider.cs
- DirtyTextRange.cs
- SocketAddress.cs
- TemplateModeChangedEventArgs.cs
- StateDesigner.LayoutSelectionGlyph.cs
- ConfigurationStrings.cs
- PathSegment.cs
- AuthenticateEventArgs.cs
- FixedSOMLineCollection.cs
- ScriptResourceMapping.cs
- InfoCard.cs
- Pen.cs
- SecurityContextSecurityTokenAuthenticator.cs
- AssignDesigner.xaml.cs
- ComponentResourceManager.cs
- TypeInitializationException.cs
- OutKeywords.cs
- ISAPIWorkerRequest.cs
- XmlDocumentType.cs
- ExternalException.cs
- RequestValidator.cs
- PenThreadPool.cs
- BaseAddressElementCollection.cs
- XmlElementAttribute.cs
- rsa.cs
- OLEDB_Enum.cs
- MimeWriter.cs
- OlePropertyStructs.cs
- GZipDecoder.cs
- LocalBuilder.cs
- XNodeValidator.cs
- BinaryCommonClasses.cs
- ItemsPresenter.cs
- InvalidComObjectException.cs