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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpException.cs
- ValidationVisibilityAttribute.cs
- GZipUtils.cs
- OleDbWrapper.cs
- ParallelTimeline.cs
- SmiMetaData.cs
- MimeMapping.cs
- PreviewPrintController.cs
- WebExceptionStatus.cs
- Vector3DCollectionValueSerializer.cs
- MinimizableAttributeTypeConverter.cs
- Mutex.cs
- SystemFonts.cs
- RemoteWebConfigurationHostServer.cs
- XPathItem.cs
- X509ChainElement.cs
- TokenizerHelper.cs
- AttachedPropertyDescriptor.cs
- SizeLimitedCache.cs
- CodeValidator.cs
- EntityContainerEmitter.cs
- ImageClickEventArgs.cs
- LabelLiteral.cs
- ReturnValue.cs
- WindowsClaimSet.cs
- DeviceContexts.cs
- AuthenticationService.cs
- dtdvalidator.cs
- PerSessionInstanceContextProvider.cs
- AuthenticationService.cs
- CorrelationManager.cs
- RenderCapability.cs
- Int32CAMarshaler.cs
- SelectionWordBreaker.cs
- GcHandle.cs
- OdbcReferenceCollection.cs
- QualifierSet.cs
- ZoneLinkButton.cs
- OleDbErrorCollection.cs
- InteropAutomationProvider.cs
- PreservationFileWriter.cs
- BulletChrome.cs
- ListenerUnsafeNativeMethods.cs
- EditorPartCollection.cs
- UDPClient.cs
- Activity.cs
- GroupBoxDesigner.cs
- CompressionTransform.cs
- ObjectToken.cs
- XmlAnyElementAttribute.cs
- ThreadPool.cs
- WebConfigurationHost.cs
- SpotLight.cs
- InputLanguageEventArgs.cs
- DeliveryStrategy.cs
- TreeNodeStyle.cs
- EmptyReadOnlyDictionaryInternal.cs
- AssemblyAttributesGoHere.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- CacheChildrenQuery.cs
- String.cs
- ChangeDirector.cs
- CodeExpressionRuleDeclaration.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DoubleAnimationClockResource.cs
- OdbcConnectionOpen.cs
- TypeConstant.cs
- CompletionBookmark.cs
- WeakReferenceList.cs
- _SecureChannel.cs
- HttpCachePolicyElement.cs
- hresults.cs
- TypeUtils.cs
- MsdtcClusterUtils.cs
- ClientConfigurationHost.cs
- RowUpdatingEventArgs.cs
- XmlSchemaElement.cs
- MailMessageEventArgs.cs
- TypeConverterHelper.cs
- BrowserCapabilitiesCompiler.cs
- PagesChangedEventArgs.cs
- ImplicitInputBrush.cs
- Dictionary.cs
- XmlDictionaryString.cs
- XamlBuildTaskServices.cs
- TextEditorSelection.cs
- MessageQueueInstaller.cs
- DragEventArgs.cs
- AmbientLight.cs
- safex509handles.cs
- DiscoveryMessageSequence.cs
- DataServicePagingProviderWrapper.cs
- HtmlHistory.cs
- MethodCallConverter.cs
- SQLChars.cs
- Win32Native.cs
- TraceHandlerErrorFormatter.cs
- BindStream.cs
- ReplacementText.cs
- MasterPage.cs