Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventLogPropertySelector.cs / 1305376 / EventLogPropertySelector.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLogPropertySelector ** ** Purpose: ** Public class that encapsulates the information for fast ** access to Event Values of an EventLogRecord. Implements ** the EventPropertyContext abstract class. An instance of this ** class is constructed and then passed to ** EventLogRecord.GetEventPropertyValues. ** ============================================================*/ using System; using System.Collections.Generic; using Microsoft.Win32; namespace System.Diagnostics.Eventing.Reader { ////// Encapsulates the information for fast access to Event Values /// of an EventLogRecord. An instance of this class is constructed /// and then passed to EventLogRecord.GetEventPropertyValues. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class EventLogPropertySelector : IDisposable { // // access to the data member reference is safe, while // invoking methods on it is marked SecurityCritical as appropriate. // private EventLogHandle renderContextHandleValues; [System.Security.SecurityCritical] public EventLogPropertySelector(IEnumerablepropertyQueries) { EventLogPermissionHolder.GetEventLogPermission().Demand(); if (propertyQueries == null) throw new ArgumentNullException("propertyQueries"); string[] paths; ICollection coll = propertyQueries as ICollection ; if (coll != null) { paths = new string[coll.Count]; coll.CopyTo(paths, 0); } else { List queries; queries = new List (propertyQueries); paths = queries.ToArray(); } renderContextHandleValues = NativeWrapper.EvtCreateRenderContext(paths.Length, paths, UnsafeNativeMethods.EvtRenderContextFlags.EvtRenderContextValues); } internal EventLogHandle Handle { // just returning reference to security critical type, the methods // of that type are protected by SecurityCritical as appropriate. get { return renderContextHandleValues; } } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } [System.Security.SecuritySafeCritical] protected virtual void Dispose(bool disposing) { if (disposing) { EventLogPermissionHolder.GetEventLogPermission().Demand(); } if (renderContextHandleValues != null && !renderContextHandleValues.IsInvalid) renderContextHandleValues.Dispose(); } } } // 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
- ConnectorSelectionGlyph.cs
- DebugView.cs
- MenuItemStyleCollection.cs
- ProcessThreadCollection.cs
- HierarchicalDataSourceControl.cs
- LineSegment.cs
- InvokePattern.cs
- Panel.cs
- DES.cs
- InputScopeAttribute.cs
- ComplexObject.cs
- DispatcherEventArgs.cs
- DataIdProcessor.cs
- FacetValueContainer.cs
- activationcontext.cs
- CustomAttributeFormatException.cs
- StatusStrip.cs
- SerializationException.cs
- mansign.cs
- KeySpline.cs
- DrawingContextWalker.cs
- TableLayoutStyleCollection.cs
- PeerMessageDispatcher.cs
- EntityClassGenerator.cs
- WpfMemberInvoker.cs
- XmlEventCache.cs
- AssemblyName.cs
- ArrayTypeMismatchException.cs
- ActivationServices.cs
- PropertyTabChangedEvent.cs
- figurelength.cs
- DataGridViewCellStyleConverter.cs
- DecimalConverter.cs
- TrackingQuery.cs
- TypeForwardedToAttribute.cs
- PermissionListSet.cs
- RuntimeTransactionHandle.cs
- Adorner.cs
- AnimationException.cs
- FillBehavior.cs
- BuildResult.cs
- NTAccount.cs
- SystemColors.cs
- ProtectedConfigurationSection.cs
- IisNotInstalledException.cs
- SystemNetHelpers.cs
- MouseGesture.cs
- TypeProvider.cs
- InputManager.cs
- StorageScalarPropertyMapping.cs
- NavigationHelper.cs
- Timer.cs
- EditorPartCollection.cs
- DoubleLinkListEnumerator.cs
- UnSafeCharBuffer.cs
- ChangeBlockUndoRecord.cs
- HttpWriter.cs
- QueryContinueDragEvent.cs
- DataGridColumnCollectionEditor.cs
- ReturnEventArgs.cs
- BreadCrumbTextConverter.cs
- WebPartDisplayMode.cs
- SetStateEventArgs.cs
- FieldAccessException.cs
- BinaryUtilClasses.cs
- Rect3DConverter.cs
- DesignOnlyAttribute.cs
- PreApplicationStartMethodAttribute.cs
- AssociatedControlConverter.cs
- PageThemeParser.cs
- VScrollProperties.cs
- StructuredTypeEmitter.cs
- ImmComposition.cs
- Table.cs
- CriticalHandle.cs
- SequenceDesigner.cs
- WithParamAction.cs
- DirectoryObjectSecurity.cs
- UIElement.cs
- SystemDiagnosticsSection.cs
- SqlBuffer.cs
- TogglePattern.cs
- IApplicationTrustManager.cs
- HttpPostProtocolImporter.cs
- ExceptionUtil.cs
- EnglishPluralizationService.cs
- BrowserCapabilitiesFactory.cs
- SoapSchemaImporter.cs
- BrowserCapabilitiesFactoryBase.cs
- SiteMapPath.cs
- UnsafeNativeMethodsCLR.cs
- DataObjectPastingEventArgs.cs
- RMPermissions.cs
- PackWebResponse.cs
- WindowsTreeView.cs
- BaseHashHelper.cs
- DBSqlParserColumnCollection.cs
- DecoderReplacementFallback.cs
- Attribute.cs
- TransactionInformation.cs