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
- XmlText.cs
- SecurityCriticalDataForSet.cs
- SuppressIldasmAttribute.cs
- FontNameConverter.cs
- WebPartMenuStyle.cs
- UniformGrid.cs
- XmlArrayItemAttribute.cs
- FormsAuthenticationCredentials.cs
- CodeCatchClauseCollection.cs
- HttpHeaderCollection.cs
- DeploymentExceptionMapper.cs
- ServiceControllerDesigner.cs
- CustomErrorCollection.cs
- CancellableEnumerable.cs
- TransformerConfigurationWizardBase.cs
- InvariantComparer.cs
- SqlCharStream.cs
- ReadOnlyNameValueCollection.cs
- JournalNavigationScope.cs
- SafeFileMappingHandle.cs
- GeneratedContractType.cs
- HttpCookieCollection.cs
- BoundPropertyEntry.cs
- LinkLabelLinkClickedEvent.cs
- ConstraintConverter.cs
- XmlDocument.cs
- DiagnosticTraceSource.cs
- GenericNameHandler.cs
- DataKey.cs
- XmlWellformedWriter.cs
- WriteFileContext.cs
- D3DImage.cs
- WebSysDefaultValueAttribute.cs
- CodeVariableDeclarationStatement.cs
- CacheEntry.cs
- DataTableExtensions.cs
- CompositeCollection.cs
- CompilerGlobalScopeAttribute.cs
- SchemaType.cs
- WebException.cs
- HostingMessageProperty.cs
- XmlFormatReaderGenerator.cs
- Marshal.cs
- StorageMappingItemCollection.cs
- ThreadAttributes.cs
- Attributes.cs
- RemoteWebConfigurationHostServer.cs
- CheckedListBox.cs
- SrgsNameValueTag.cs
- DataBoundControlHelper.cs
- Int32CollectionConverter.cs
- FilterQueryOptionExpression.cs
- LineProperties.cs
- HostProtectionException.cs
- TableItemPatternIdentifiers.cs
- SortFieldComparer.cs
- SimpleLine.cs
- CfgParser.cs
- DrawingAttributeSerializer.cs
- Pen.cs
- SqlParameterCollection.cs
- ApplicationSecurityInfo.cs
- PageStatePersister.cs
- HuffModule.cs
- SqlMethodAttribute.cs
- MsmqHostedTransportConfiguration.cs
- DatasetMethodGenerator.cs
- CounterCreationData.cs
- GCHandleCookieTable.cs
- MaskInputRejectedEventArgs.cs
- ProgressPage.cs
- LocalValueEnumerator.cs
- MimeBasePart.cs
- HebrewCalendar.cs
- LiteralControl.cs
- DropDownButton.cs
- XsltInput.cs
- NameValueConfigurationCollection.cs
- Win32.cs
- WebPartExportVerb.cs
- dataprotectionpermissionattribute.cs
- WebPartEditorCancelVerb.cs
- Model3DGroup.cs
- BoolExpressionVisitors.cs
- EUCJPEncoding.cs
- PointLightBase.cs
- TouchPoint.cs
- ProfileInfo.cs
- DelegateSerializationHolder.cs
- CachedBitmap.cs
- CacheOutputQuery.cs
- HttpRequest.cs
- CodeDomLocalizationProvider.cs
- complextypematerializer.cs
- SourceFileInfo.cs
- HttpHeaderCollection.cs
- SuspendDesigner.cs
- MatrixUtil.cs
- StylusPointCollection.cs
- IProducerConsumerCollection.cs