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
- MsmqReceiveParameters.cs
- ReferencedType.cs
- SecurityPolicySection.cs
- XmlText.cs
- DesignBindingPropertyDescriptor.cs
- EnumUnknown.cs
- UrlMappingCollection.cs
- SqlDataSourceFilteringEventArgs.cs
- sqlnorm.cs
- ManipulationLogic.cs
- CopyAttributesAction.cs
- ComplexPropertyEntry.cs
- XmlLanguageConverter.cs
- ObjectDataSourceView.cs
- DecoderNLS.cs
- _BasicClient.cs
- ProtocolsConfigurationEntry.cs
- EntityPropertyMappingAttribute.cs
- Misc.cs
- Stylus.cs
- DataControlCommands.cs
- InitializationEventAttribute.cs
- AspNetSynchronizationContext.cs
- InvokeHandlers.cs
- DataGridColumn.cs
- DoubleLink.cs
- SmtpNetworkElement.cs
- OperatorExpressions.cs
- SystemWebSectionGroup.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ViewPort3D.cs
- XpsPartBase.cs
- SQlBooleanStorage.cs
- Substitution.cs
- TemplateBamlTreeBuilder.cs
- StringUtil.cs
- AncestorChangedEventArgs.cs
- XslVisitor.cs
- PostBackOptions.cs
- BamlVersionHeader.cs
- HostProtectionPermission.cs
- NamespaceTable.cs
- XmlAutoDetectWriter.cs
- MapPathBasedVirtualPathProvider.cs
- EventsTab.cs
- cryptoapiTransform.cs
- DragCompletedEventArgs.cs
- BitmapMetadataBlob.cs
- Events.cs
- CacheEntry.cs
- NativeObjectSecurity.cs
- QueryFunctions.cs
- VariableAction.cs
- SourceChangedEventArgs.cs
- UnsafeMethods.cs
- MethodBuilder.cs
- FixedSOMPage.cs
- Fault.cs
- loginstatus.cs
- CLRBindingWorker.cs
- Solver.cs
- ExtendedPropertyCollection.cs
- Image.cs
- InputMethodStateChangeEventArgs.cs
- StyleHelper.cs
- BorderGapMaskConverter.cs
- LoadRetryAsyncResult.cs
- UInt32Converter.cs
- XPathException.cs
- Inflater.cs
- Canvas.cs
- PersistenceProvider.cs
- ProjectionPathSegment.cs
- XmlProcessingInstruction.cs
- GlyphingCache.cs
- CalendarAutoFormatDialog.cs
- IndicShape.cs
- ToolboxItemAttribute.cs
- ConfigXmlAttribute.cs
- DeflateStreamAsyncResult.cs
- InvokePattern.cs
- ProviderCommandInfoUtils.cs
- RuntimeComponentFilter.cs
- ArrayList.cs
- XmlNodeComparer.cs
- ElementFactory.cs
- BitmapMetadata.cs
- XmlBinaryReader.cs
- WebPartHelpVerb.cs
- Popup.cs
- StorageModelBuildProvider.cs
- BinaryObjectInfo.cs
- ListSortDescriptionCollection.cs
- QuaternionAnimation.cs
- TableCell.cs
- CursorEditor.cs
- RegularExpressionValidator.cs
- TimeSpanConverter.cs
- StringComparer.cs
- DataTableExtensions.cs