Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventLogLink.cs / 1305376 / EventLogLink.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLogLink ** ** Purpose: ** This public class describes the metadata for a specific Log ** Reference defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; namespace System.Diagnostics.Eventing.Reader { ////// Describes the metadata for a specific Log Reference defined /// by a Provider. An instance of this class is obtained from /// a ProviderMetadata object. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventLogLink { private string channelName; private bool isImported; private string displayName; private uint channelId; private bool dataReady; ProviderMetadata pmReference; object syncObject; internal EventLogLink(uint channelId, ProviderMetadata pmReference) { this.channelId = channelId; this.pmReference = pmReference; this.syncObject = new object(); } internal EventLogLink(string channelName, bool isImported, string displayName, uint channelId) { this.channelName = channelName; this.isImported = isImported; this.displayName = displayName; this.channelId = channelId; this.dataReady = true; this.syncObject = new object(); } private void PrepareData() { if (dataReady == true) return; lock (syncObject) { if (dataReady == true) return; IEnumerableresult = pmReference.LogLinks; this.channelName = null; this.isImported = false; this.displayName = null; this.dataReady = true; foreach (EventLogLink ch in result) { if (ch.ChannelId == this.channelId) { this.channelName = ch.LogName; this.isImported = ch.IsImported; this.displayName = ch.DisplayName; this.dataReady = true; break; } } } } public string LogName { get { this.PrepareData(); return this.channelName; } } public bool IsImported { get { this.PrepareData(); return this.isImported; } } public string DisplayName { get { this.PrepareData(); return this.displayName; } } internal uint ChannelId { get { return channelId; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLogLink ** ** Purpose: ** This public class describes the metadata for a specific Log ** Reference defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; namespace System.Diagnostics.Eventing.Reader { /// /// Describes the metadata for a specific Log Reference defined /// by a Provider. An instance of this class is obtained from /// a ProviderMetadata object. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventLogLink { private string channelName; private bool isImported; private string displayName; private uint channelId; private bool dataReady; ProviderMetadata pmReference; object syncObject; internal EventLogLink(uint channelId, ProviderMetadata pmReference) { this.channelId = channelId; this.pmReference = pmReference; this.syncObject = new object(); } internal EventLogLink(string channelName, bool isImported, string displayName, uint channelId) { this.channelName = channelName; this.isImported = isImported; this.displayName = displayName; this.channelId = channelId; this.dataReady = true; this.syncObject = new object(); } private void PrepareData() { if (dataReady == true) return; lock (syncObject) { if (dataReady == true) return; IEnumerableresult = pmReference.LogLinks; this.channelName = null; this.isImported = false; this.displayName = null; this.dataReady = true; foreach (EventLogLink ch in result) { if (ch.ChannelId == this.channelId) { this.channelName = ch.LogName; this.isImported = ch.IsImported; this.displayName = ch.DisplayName; this.dataReady = true; break; } } } } public string LogName { get { this.PrepareData(); return this.channelName; } } public bool IsImported { get { this.PrepareData(); return this.isImported; } } public string DisplayName { get { this.PrepareData(); return this.displayName; } } internal uint ChannelId { get { return channelId; } } } } // 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
- ObjectToken.cs
- EasingKeyFrames.cs
- SqlCacheDependency.cs
- TokenizerHelper.cs
- DesignColumn.cs
- CodeSubDirectory.cs
- ManagementEventWatcher.cs
- WindowCollection.cs
- VersionUtil.cs
- TreeView.cs
- Task.cs
- documentation.cs
- HtmlElementCollection.cs
- QilInvokeLateBound.cs
- NotifyParentPropertyAttribute.cs
- ILGenerator.cs
- DBAsyncResult.cs
- MenuCommandService.cs
- SimpleWorkerRequest.cs
- Stackframe.cs
- Internal.cs
- UpdateException.cs
- SpanIndex.cs
- ComplexObject.cs
- NetworkStream.cs
- NativeMethods.cs
- figurelength.cs
- XmlParserContext.cs
- RegistrySecurity.cs
- RegionInfo.cs
- XmlSchemaComplexType.cs
- PropertyIDSet.cs
- MonthChangedEventArgs.cs
- CodeStatement.cs
- OutOfMemoryException.cs
- EntitySetBase.cs
- BinaryObjectWriter.cs
- TraceProvider.cs
- NotFiniteNumberException.cs
- ToolStrip.cs
- ListViewItem.cs
- MaterialCollection.cs
- MemberListBinding.cs
- ToolStripPanelRenderEventArgs.cs
- RC2CryptoServiceProvider.cs
- VectorKeyFrameCollection.cs
- DbMetaDataFactory.cs
- WebPartManagerInternals.cs
- WebPartCollection.cs
- WorkflowRuntimeServiceElementCollection.cs
- AssociationTypeEmitter.cs
- OrderingQueryOperator.cs
- SoundPlayer.cs
- IfAction.cs
- DefaultHttpHandler.cs
- FontWeight.cs
- MediaElementAutomationPeer.cs
- InvokeMethodActivityDesigner.cs
- RegexParser.cs
- UnlockInstanceCommand.cs
- ColorMatrix.cs
- DBConcurrencyException.cs
- NativeMethodsCLR.cs
- IntegerValidator.cs
- XmlDataSourceNodeDescriptor.cs
- DesignerCapabilities.cs
- DictionarySectionHandler.cs
- TypeUnloadedException.cs
- SerializationHelper.cs
- XmlSchemaObject.cs
- CatalogPartCollection.cs
- DefaultAssemblyResolver.cs
- CalendarTable.cs
- XmlAggregates.cs
- ToolBarTray.cs
- AutomationPatternInfo.cs
- Wizard.cs
- COM2IProvidePropertyBuilderHandler.cs
- Publisher.cs
- TypeForwardedToAttribute.cs
- _Connection.cs
- TrustManager.cs
- AsymmetricSignatureFormatter.cs
- ParsedAttributeCollection.cs
- IdentifierService.cs
- NetworkCredential.cs
- ContentType.cs
- DataServiceHost.cs
- SkinBuilder.cs
- invalidudtexception.cs
- BitmapPalette.cs
- TreeNodeEventArgs.cs
- WorkflowEventArgs.cs
- NumericUpDownAccelerationCollection.cs
- ReadOnlyPropertyMetadata.cs
- SpecularMaterial.cs
- QilPatternFactory.cs
- ItemChangedEventArgs.cs
- ReadOnlyCollectionBase.cs
- WindowsAltTab.cs