Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventOpcode.cs / 1305376 / EventOpcode.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventOpcode ** ** Purpose: ** This public class describes the metadata for a specific Opcode ** defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; namespace System.Diagnostics.Eventing.Reader { [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "Opcode", Justification = "[....]: Shipped public in 3.5, breaking change to fix now.")] public sealed class EventOpcode { private int value; private string name; private string displayName; private bool dataReady; ProviderMetadata pmReference; object syncObject; //call from EventMetadata internal EventOpcode(int value, ProviderMetadata pmReference) { this.value = value; this.pmReference = pmReference; this.syncObject = new object(); } //call from ProviderMetadata internal EventOpcode(string name, int value, string displayName) { this.value = value; this.name = name; this.displayName = displayName; this.dataReady = true; this.syncObject = new object(); } internal void PrepareData() { lock (syncObject) { if (dataReady == true) return; // get the data IEnumerableresult = pmReference.Opcodes; //set the names and display names to null this.name = null; this.displayName = null; this.dataReady = true; foreach (EventOpcode op in result) { if (op.Value == this.value) { this.name = op.Name; this.displayName = op.DisplayName; this.dataReady = true; break; } } } }//End Prepare Data public string Name { get { PrepareData(); return this.name; } } public int Value { get { return this.value; } } public string DisplayName { get { PrepareData(); return this.displayName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventOpcode ** ** Purpose: ** This public class describes the metadata for a specific Opcode ** defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; namespace System.Diagnostics.Eventing.Reader { [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "Opcode", Justification = "[....]: Shipped public in 3.5, breaking change to fix now.")] public sealed class EventOpcode { private int value; private string name; private string displayName; private bool dataReady; ProviderMetadata pmReference; object syncObject; //call from EventMetadata internal EventOpcode(int value, ProviderMetadata pmReference) { this.value = value; this.pmReference = pmReference; this.syncObject = new object(); } //call from ProviderMetadata internal EventOpcode(string name, int value, string displayName) { this.value = value; this.name = name; this.displayName = displayName; this.dataReady = true; this.syncObject = new object(); } internal void PrepareData() { lock (syncObject) { if (dataReady == true) return; // get the data IEnumerable result = pmReference.Opcodes; //set the names and display names to null this.name = null; this.displayName = null; this.dataReady = true; foreach (EventOpcode op in result) { if (op.Value == this.value) { this.name = op.Name; this.displayName = op.DisplayName; this.dataReady = true; break; } } } }//End Prepare Data public string Name { get { PrepareData(); return this.name; } } public int Value { get { return this.value; } } public string DisplayName { get { PrepareData(); return this.displayName; } } } } // 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
- FormParameter.cs
- DataSourceXmlClassAttribute.cs
- CharacterBuffer.cs
- SqlStream.cs
- XmlObjectSerializerContext.cs
- StreamWithDictionary.cs
- DictionaryKeyPropertyAttribute.cs
- SqlCacheDependencySection.cs
- SoapCodeExporter.cs
- SoapTypeAttribute.cs
- BitmapEffectvisualstate.cs
- IgnoreSectionHandler.cs
- ImportDesigner.xaml.cs
- BitVector32.cs
- NTAccount.cs
- MemberProjectionIndex.cs
- ScrollPatternIdentifiers.cs
- SystemUdpStatistics.cs
- ValidationSummary.cs
- SortExpressionBuilder.cs
- PermissionSet.cs
- ConstraintEnumerator.cs
- MethodExpr.cs
- MetadataItem_Static.cs
- CodePrimitiveExpression.cs
- SizeChangedInfo.cs
- SerializableAttribute.cs
- TabControlEvent.cs
- LightweightCodeGenerator.cs
- ClientCultureInfo.cs
- FormatException.cs
- HostVisual.cs
- GridViewRowEventArgs.cs
- ReceiveActivity.cs
- PartBasedPackageProperties.cs
- HierarchicalDataBoundControl.cs
- NavigationWindow.cs
- TagPrefixInfo.cs
- ToolStripContentPanelRenderEventArgs.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- WebResourceAttribute.cs
- VirtualizingStackPanel.cs
- SBCSCodePageEncoding.cs
- IpcClientChannel.cs
- CodeStatement.cs
- DataSourceXmlClassAttribute.cs
- ModelUIElement3D.cs
- ControlPersister.cs
- SHA1.cs
- ExceptionHandlers.cs
- SerializationEventsCache.cs
- IncomingWebRequestContext.cs
- PrivateFontCollection.cs
- CallContext.cs
- Track.cs
- Object.cs
- RegisteredArrayDeclaration.cs
- FileAuthorizationModule.cs
- ServiceDescriptionContext.cs
- PropertyChangedEventManager.cs
- XD.cs
- Compensation.cs
- XmlIncludeAttribute.cs
- UrlPropertyAttribute.cs
- FormatterServices.cs
- PersonalizablePropertyEntry.cs
- TimeStampChecker.cs
- MessageEncodingBindingElementImporter.cs
- XslNumber.cs
- PeerUnsafeNativeMethods.cs
- MarkupCompilePass2.cs
- DashStyle.cs
- webeventbuffer.cs
- DiscoveryExceptionDictionary.cs
- LookupNode.cs
- LeftCellWrapper.cs
- TextLineResult.cs
- PartialTrustValidationBehavior.cs
- GCHandleCookieTable.cs
- _KerberosClient.cs
- WebEncodingValidator.cs
- XmlNamedNodeMap.cs
- ListenerServiceInstallComponent.cs
- SqlConnection.cs
- TemplateContent.cs
- WizardForm.cs
- PackageDigitalSignature.cs
- ListViewItemSelectionChangedEvent.cs
- ServicePointManager.cs
- ListItemCollection.cs
- Tokenizer.cs
- Html32TextWriter.cs
- TextRenderer.cs
- EventLogWatcher.cs
- WebPartMinimizeVerb.cs
- WebPartMenuStyle.cs
- InitializerFacet.cs
- TypeConverterAttribute.cs
- HwndHostAutomationPeer.cs
- StandardCommands.cs