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
- RegexGroup.cs
- ColorMap.cs
- SrgsSubset.cs
- SqlDuplicator.cs
- UIElementAutomationPeer.cs
- IPHostEntry.cs
- XslAst.cs
- PackWebResponse.cs
- LogExtentCollection.cs
- PassportAuthenticationEventArgs.cs
- CookieParameter.cs
- Types.cs
- SafeRightsManagementQueryHandle.cs
- NetNamedPipeBindingElement.cs
- JsonEnumDataContract.cs
- URLString.cs
- HttpListenerRequest.cs
- DbConnectionInternal.cs
- GeneralTransform2DTo3DTo2D.cs
- Point.cs
- CryptoApi.cs
- DataGridViewRowStateChangedEventArgs.cs
- XamlBrushSerializer.cs
- EntityParameter.cs
- uribuilder.cs
- Utils.cs
- _Semaphore.cs
- SettingsBindableAttribute.cs
- PropertyReferenceExtension.cs
- CardSpaceException.cs
- ResourcePermissionBaseEntry.cs
- ProfileProvider.cs
- QueryLifecycle.cs
- GridViewDeleteEventArgs.cs
- HtmlInputButton.cs
- DomainConstraint.cs
- ColorAnimation.cs
- WebSysDescriptionAttribute.cs
- Documentation.cs
- ActivityDesigner.cs
- Converter.cs
- BypassElement.cs
- PropertyPath.cs
- SelectionItemPattern.cs
- Effect.cs
- WorkflowWebHostingModule.cs
- DataGridViewToolTip.cs
- SingleResultAttribute.cs
- ToolStripRendererSwitcher.cs
- FloatUtil.cs
- BaseProcessor.cs
- ConcurrentStack.cs
- EntityDataSourceSelectingEventArgs.cs
- ErrorStyle.cs
- DataRecord.cs
- ColorConvertedBitmapExtension.cs
- PropertyChangeTracker.cs
- DataGridViewRowConverter.cs
- TrustManager.cs
- Vector.cs
- RotationValidation.cs
- WorkflowServiceAttributesTypeConverter.cs
- PrefixQName.cs
- AssertHelper.cs
- Localizer.cs
- Enlistment.cs
- GridItemProviderWrapper.cs
- ExpressionBuilderCollection.cs
- Main.cs
- TableAdapterManagerGenerator.cs
- securitycriticaldataClass.cs
- ComponentSerializationService.cs
- NonVisualControlAttribute.cs
- TypeConverterHelper.cs
- ColumnClickEvent.cs
- InspectionWorker.cs
- StringComparer.cs
- RowParagraph.cs
- BasicCellRelation.cs
- ProfileModule.cs
- SafeRightsManagementQueryHandle.cs
- GlyphsSerializer.cs
- CheckableControlBaseAdapter.cs
- RawMouseInputReport.cs
- InvalidComObjectException.cs
- RawKeyboardInputReport.cs
- ListenDesigner.cs
- RowsCopiedEventArgs.cs
- ShapingWorkspace.cs
- LineServices.cs
- TextOutput.cs
- StrokeDescriptor.cs
- PointAnimation.cs
- SrgsItemList.cs
- _ProxyRegBlob.cs
- EnvelopedPkcs7.cs
- ShapingWorkspace.cs
- PeerCollaborationPermission.cs
- DrawTreeNodeEventArgs.cs
- ArrayTypeMismatchException.cs