Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventMetadata.cs / 1305376 / EventMetadata.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventMetadata ** ** Purpose: ** This public class describes the metadata for a specific event ** raised by Provider. An instance of this class is obtained from ** ProviderMetadata class. ** ============================================================*/ using System.Globalization; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using System.Diagnostics.CodeAnalysis; namespace System.Diagnostics.Eventing.Reader { ////// Event Metadata /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventMetadata { private long id; private byte version; private byte channelId; private byte level; private short opcode; private int task; private long keywords; private string template; private string description; ProviderMetadata pmReference; internal EventMetadata(uint id, byte version, byte channelId, byte level, byte opcode, short task, long keywords, string template, string description, ProviderMetadata pmReference) { this.id = id; this.version = version; this.channelId = channelId; this.level = level; this.opcode = opcode; this.task = task; this.keywords = keywords; this.template = template; this.description = description; this.pmReference = pmReference; } // // Max value will be UINT32.MaxValue - it is a long because this property // is really a UINT32. The legacy API allows event message ids to be declared // as UINT32 and these event/messages may be migrated into a Provider's // manifest as UINT32. Note that EventRecord ids are // still declared as int, because those ids max value is UINT16.MaxValue // and rest of the bits of the legacy event id would be stored in // Qualifiers property. // public long Id { get { return this.id; } } public byte Version { get { return this.version; } } public EventLogLink LogLink { get { return new EventLogLink((uint)this.channelId, this.pmReference); } } public EventLevel Level { get { return new EventLevel(this.level, this.pmReference); } } [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "Opcode", Justification = "[....]: Shipped public in 3.5, breaking change to fix now.")] public EventOpcode Opcode { get { return new EventOpcode(this.opcode, this.pmReference); } } public EventTask Task { get { return new EventTask(this.task, this.pmReference); } } public IEnumerableKeywords { get { List list = new List (); ulong theKeywords = (ulong)this.keywords; ulong mask = 0x8000000000000000; //for every bit //for (int i = 0; i < 64 && theKeywords != 0; i++) for (int i = 0; i < 64; i++) { //if this bit is set if ((theKeywords & mask) > 0) { //the mask is the keyword we will be searching for. list.Add(new EventKeyword((long)mask, this.pmReference)); //theKeywords = theKeywords - mask; } //modify the mask to check next bit. mask = mask >> 1; } return list; } } public string Template { get { return this.template; } } public string Description { get { return this.description; } } } } // 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
- CancelEventArgs.cs
- FlowDocumentView.cs
- ExpressionParser.cs
- QueryCreatedEventArgs.cs
- WebPartZone.cs
- ContainerUtilities.cs
- SQLDecimalStorage.cs
- RequestSecurityToken.cs
- HwndSubclass.cs
- DataGridViewSelectedCellCollection.cs
- MouseEventArgs.cs
- WarningException.cs
- DataGridViewRowPrePaintEventArgs.cs
- XmlSchemaAttribute.cs
- AsyncOperationLifetimeManager.cs
- RelativeSource.cs
- FontClient.cs
- CounterSampleCalculator.cs
- GenerateHelper.cs
- PropertyInfo.cs
- TextContainerChangeEventArgs.cs
- XmlSignificantWhitespace.cs
- ImageMetadata.cs
- CommandValueSerializer.cs
- CodeDirectoryCompiler.cs
- EntitySetRetriever.cs
- AmbientProperties.cs
- Nullable.cs
- PrintDialogException.cs
- DictionaryEntry.cs
- DataBoundControlAdapter.cs
- Stylesheet.cs
- TransformPattern.cs
- ToolboxComponentsCreatedEventArgs.cs
- XamlWrappingReader.cs
- UserPersonalizationStateInfo.cs
- FormViewRow.cs
- DataGrid.cs
- sqlinternaltransaction.cs
- SamlAuthorizationDecisionClaimResource.cs
- DescendantOverDescendantQuery.cs
- ConnectionPoint.cs
- DataServiceQueryProvider.cs
- COAUTHINFO.cs
- AsnEncodedData.cs
- BroadcastEventHelper.cs
- BaseValidatorDesigner.cs
- Serializer.cs
- AssemblyNameProxy.cs
- MergablePropertyAttribute.cs
- JavaScriptString.cs
- RegexParser.cs
- Config.cs
- ItemAutomationPeer.cs
- WhileDesigner.cs
- SecurityTokenValidationException.cs
- CodeValidator.cs
- WebRequestModuleElementCollection.cs
- WebPartVerb.cs
- NumberAction.cs
- FeatureSupport.cs
- XmlCollation.cs
- SizeAnimationUsingKeyFrames.cs
- InputDevice.cs
- AstTree.cs
- ISFTagAndGuidCache.cs
- ResourceWriter.cs
- _TLSstream.cs
- SignatureHelper.cs
- AgileSafeNativeMemoryHandle.cs
- IItemContainerGenerator.cs
- BitmapEffectDrawingContent.cs
- ContextDataSourceView.cs
- CompilerGlobalScopeAttribute.cs
- ReachFixedDocumentSerializerAsync.cs
- AtomEntry.cs
- InternalCache.cs
- SynchronousChannel.cs
- RegionIterator.cs
- Unit.cs
- DataGridViewBindingCompleteEventArgs.cs
- XNodeSchemaApplier.cs
- DataBindingExpressionBuilder.cs
- DataGridViewUtilities.cs
- SecurityTokenAuthenticator.cs
- BitmapScalingModeValidation.cs
- NetStream.cs
- DragDeltaEventArgs.cs
- StylusPointProperty.cs
- TextFormatterContext.cs
- AdjustableArrowCap.cs
- ADMembershipUser.cs
- GridViewSortEventArgs.cs
- ComponentSerializationService.cs
- ColorInterpolationModeValidation.cs
- TemplateEditingFrame.cs
- MouseEventArgs.cs
- Base64Stream.cs
- MetadataLocation.cs
- BamlRecords.cs