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
- SByte.cs
- ImportCatalogPart.cs
- DateTimeConstantAttribute.cs
- DBAsyncResult.cs
- Helpers.cs
- WhitespaceRule.cs
- XmlNamespaceManager.cs
- ConstraintStruct.cs
- PagedDataSource.cs
- BrowserCapabilitiesCodeGenerator.cs
- PrintingPermission.cs
- ListViewSelectEventArgs.cs
- FormViewUpdatedEventArgs.cs
- ServiceDesigner.xaml.cs
- ExceptionUtility.cs
- XmlSchemaAnyAttribute.cs
- WebGetAttribute.cs
- ECDiffieHellmanPublicKey.cs
- Size3DConverter.cs
- OdbcError.cs
- ManagementNamedValueCollection.cs
- DependencySource.cs
- BufferedStream.cs
- OdbcConnectionPoolProviderInfo.cs
- OleDbCommandBuilder.cs
- ScrollData.cs
- ZeroOpNode.cs
- AuthStoreRoleProvider.cs
- ThemeDirectoryCompiler.cs
- ComponentResourceManager.cs
- Freezable.cs
- DataListItemEventArgs.cs
- NameScopePropertyAttribute.cs
- RelationshipConstraintValidator.cs
- TextEditorMouse.cs
- TemplatePartAttribute.cs
- UniqueIdentifierService.cs
- Hashtable.cs
- StylesEditorDialog.cs
- DirectionalLight.cs
- LinqExpressionNormalizer.cs
- WebPartConnection.cs
- MimeParameterWriter.cs
- SplitterEvent.cs
- CachedPathData.cs
- WriteFileContext.cs
- GeometryCombineModeValidation.cs
- GenericXmlSecurityTokenAuthenticator.cs
- DllNotFoundException.cs
- HttpCookie.cs
- HebrewNumber.cs
- Bidi.cs
- DetailsViewUpdateEventArgs.cs
- MissingManifestResourceException.cs
- FrameDimension.cs
- ISFTagAndGuidCache.cs
- GridViewPageEventArgs.cs
- Processor.cs
- Guid.cs
- AuthenticationService.cs
- IntSecurity.cs
- SessionStateItemCollection.cs
- ComponentChangedEvent.cs
- GroupBoxDesigner.cs
- SystemIPInterfaceProperties.cs
- TypeExtension.cs
- XamlSerializerUtil.cs
- QuaternionValueSerializer.cs
- Point3DCollection.cs
- SecurityTokenSpecification.cs
- SchemaType.cs
- FunctionQuery.cs
- TableLayoutStyleCollection.cs
- XmlCharType.cs
- ReflectPropertyDescriptor.cs
- WindowsSolidBrush.cs
- NotificationContext.cs
- RepeatInfo.cs
- FrameworkElementAutomationPeer.cs
- XmlDataContract.cs
- HtmlForm.cs
- TemplateBindingExtension.cs
- DllNotFoundException.cs
- ObjectDataSourceMethodEventArgs.cs
- cookiecollection.cs
- SourceItem.cs
- EventLogPermission.cs
- ArrayElementGridEntry.cs
- DecimalConverter.cs
- XmlBoundElement.cs
- SingleBodyParameterMessageFormatter.cs
- KeyEventArgs.cs
- WebBrowsableAttribute.cs
- ContentPathSegment.cs
- ImageEditor.cs
- LinqDataSourceValidationException.cs
- ResourceExpression.cs
- CollectionType.cs
- ListenerUnsafeNativeMethods.cs
- cryptoapiTransform.cs