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
- DesignerTransaction.cs
- SecurityTokenProviderContainer.cs
- TimerElapsedEvenArgs.cs
- LocatorPartList.cs
- SafeWaitHandle.cs
- XmlDictionaryString.cs
- RectKeyFrameCollection.cs
- TextDecorationCollectionConverter.cs
- NavigationWindowAutomationPeer.cs
- BuildManagerHost.cs
- List.cs
- BindUriHelper.cs
- DrawingContextDrawingContextWalker.cs
- ConsumerConnectionPoint.cs
- ComponentChangingEvent.cs
- ToolboxItemFilterAttribute.cs
- Parameter.cs
- TimeSpanSecondsConverter.cs
- FlowDocumentPage.cs
- DataGridViewCellParsingEventArgs.cs
- HwndHostAutomationPeer.cs
- GenericTypeParameterBuilder.cs
- EpmSourcePathSegment.cs
- ScalarType.cs
- WinInet.cs
- EncodingNLS.cs
- ADRoleFactoryConfiguration.cs
- HttpResponseWrapper.cs
- NullableDecimalAverageAggregationOperator.cs
- ObjectConverter.cs
- SafeTokenHandle.cs
- URI.cs
- RegexBoyerMoore.cs
- GridItemProviderWrapper.cs
- Condition.cs
- Binding.cs
- MetadataItemEmitter.cs
- TextLineResult.cs
- WorkflowServiceBehavior.cs
- CodeSnippetTypeMember.cs
- SerializableAttribute.cs
- GB18030Encoding.cs
- MetabaseSettings.cs
- TokenFactoryFactory.cs
- Compensate.cs
- WebColorConverter.cs
- XmlChildNodes.cs
- CustomSignedXml.cs
- BinaryFormatterWriter.cs
- MeasureItemEvent.cs
- SchemaObjectWriter.cs
- PublisherMembershipCondition.cs
- HtmlTextViewAdapter.cs
- IncrementalReadDecoders.cs
- UInt16.cs
- CommunicationObject.cs
- BulletedListEventArgs.cs
- SelectionWordBreaker.cs
- TableLayoutPanelCellPosition.cs
- IconBitmapDecoder.cs
- TreeView.cs
- SqlCacheDependencyDatabaseCollection.cs
- WorkflowItemsPresenter.cs
- MatrixValueSerializer.cs
- XmlSignificantWhitespace.cs
- TypeUsageBuilder.cs
- ErrorInfoXmlDocument.cs
- PipelineComponent.cs
- PointCollection.cs
- FigureParagraph.cs
- panel.cs
- ImplicitInputBrush.cs
- AssertFilter.cs
- ProfileSettings.cs
- MediaTimeline.cs
- RequestCache.cs
- IERequestCache.cs
- StorageMappingItemCollection.cs
- PackageFilter.cs
- ExternalException.cs
- _SpnDictionary.cs
- DictionaryContent.cs
- ReflectPropertyDescriptor.cs
- DbDataReader.cs
- JsonDeserializer.cs
- COMException.cs
- MenuItem.cs
- AuthStoreRoleProvider.cs
- PrintPreviewGraphics.cs
- PopupRootAutomationPeer.cs
- HtmlSelectionListAdapter.cs
- URLAttribute.cs
- TablePattern.cs
- UIElementIsland.cs
- SettingsBindableAttribute.cs
- TreeNode.cs
- PathFigure.cs
- CompiledQuery.cs
- ToolboxDataAttribute.cs
- PerformanceCounterPermissionEntryCollection.cs