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
- Int32Animation.cs
- Unit.cs
- ReaderContextStackData.cs
- XD.cs
- FrugalList.cs
- UserMapPath.cs
- ArithmeticException.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- StringArrayConverter.cs
- SimpleApplicationHost.cs
- StylusPointProperties.cs
- EntityDataSourceEntityTypeFilterItem.cs
- XmlResolver.cs
- GeneratedCodeAttribute.cs
- DispatchWrapper.cs
- MaterialGroup.cs
- OneOf.cs
- XPathSingletonIterator.cs
- UIElementIsland.cs
- LocationReference.cs
- Camera.cs
- TreeViewDataItemAutomationPeer.cs
- CrossAppDomainChannel.cs
- WebPartTransformer.cs
- WebBrowserHelper.cs
- nulltextnavigator.cs
- CultureInfoConverter.cs
- XsltException.cs
- InputProcessorProfiles.cs
- TextDpi.cs
- UserNameSecurityTokenProvider.cs
- LicenseProviderAttribute.cs
- ProxyWebPartConnectionCollection.cs
- XamlPathDataSerializer.cs
- ApplicationServicesHostFactory.cs
- GC.cs
- PowerModeChangedEventArgs.cs
- DesignParameter.cs
- FilterElement.cs
- TypeRefElement.cs
- AudioFileOut.cs
- MarkupObject.cs
- SerialErrors.cs
- QilGenerator.cs
- DataTableReader.cs
- SqlDependency.cs
- Condition.cs
- DataGridRelationshipRow.cs
- StyleModeStack.cs
- TextRange.cs
- CommonXSendMessage.cs
- TypeBuilder.cs
- httpapplicationstate.cs
- LineGeometry.cs
- RankException.cs
- XhtmlBasicImageAdapter.cs
- SymbolType.cs
- GPRECT.cs
- QuaternionConverter.cs
- FunctionParameter.cs
- DataGridViewColumnConverter.cs
- GridLengthConverter.cs
- SqlFacetAttribute.cs
- StackSpiller.Generated.cs
- Polyline.cs
- TextDecorationUnitValidation.cs
- CharEntityEncoderFallback.cs
- AffineTransform3D.cs
- EncodingConverter.cs
- SqlFlattener.cs
- FontStretches.cs
- SqlClientWrapperSmiStreamChars.cs
- RectangleGeometry.cs
- DefaultEventAttribute.cs
- sqlpipe.cs
- DataSysAttribute.cs
- AddInSegmentDirectoryNotFoundException.cs
- FragmentNavigationEventArgs.cs
- Crc32.cs
- FormsAuthenticationUser.cs
- CommandField.cs
- Border.cs
- BamlStream.cs
- DockingAttribute.cs
- CommandDevice.cs
- QilScopedVisitor.cs
- GroupLabel.cs
- XpsDigitalSignature.cs
- FilterableAttribute.cs
- ObjectHelper.cs
- CqlErrorHelper.cs
- COM2ExtendedTypeConverter.cs
- PromptStyle.cs
- FrameworkElement.cs
- SmtpDigestAuthenticationModule.cs
- ComponentEditorForm.cs
- VariantWrapper.cs
- CryptoHandle.cs
- DefaultObjectSerializer.cs
- RectangleConverter.cs