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
- StyleBamlRecordReader.cs
- PolicyLevel.cs
- StorageConditionPropertyMapping.cs
- HtmlTitle.cs
- ToolboxItemAttribute.cs
- ObsoleteAttribute.cs
- XmlNodeComparer.cs
- Funcletizer.cs
- MarshalByValueComponent.cs
- OuterGlowBitmapEffect.cs
- XmlDictionaryReader.cs
- log.cs
- ClosableStream.cs
- FilteredDataSetHelper.cs
- DataServiceResponse.cs
- XPathNodeIterator.cs
- TimeSpanSecondsConverter.cs
- _FtpControlStream.cs
- XmlSchemaExternal.cs
- RowBinding.cs
- TCPListener.cs
- SamlAttribute.cs
- DBPropSet.cs
- OuterGlowBitmapEffect.cs
- StringAnimationUsingKeyFrames.cs
- UnsafeNativeMethods.cs
- SingleConverter.cs
- ConstructorExpr.cs
- PropertyBuilder.cs
- AddressAccessDeniedException.cs
- Int64AnimationBase.cs
- SplitterPanel.cs
- HuffCodec.cs
- SpeakInfo.cs
- ConfigurationStrings.cs
- Menu.cs
- Oid.cs
- RenderData.cs
- ToolStripContainer.cs
- ParseElementCollection.cs
- Geometry.cs
- Token.cs
- SendSecurityHeader.cs
- TextInfo.cs
- XmlDocument.cs
- AdapterUtil.cs
- ToolStripComboBox.cs
- SQLStringStorage.cs
- ObjectStateFormatter.cs
- Expression.cs
- TreeSet.cs
- BaseValidatorDesigner.cs
- TypeReference.cs
- SQLChars.cs
- DbConnectionPoolIdentity.cs
- counter.cs
- ProcessThreadCollection.cs
- IncrementalCompileAnalyzer.cs
- FileUpload.cs
- Point4DValueSerializer.cs
- WindowPatternIdentifiers.cs
- CommandHelpers.cs
- WinInetCache.cs
- ApplicationSecurityManager.cs
- ColorPalette.cs
- ResourcePool.cs
- XPathNavigatorReader.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- Registry.cs
- IgnoreSectionHandler.cs
- TrackingServices.cs
- DecimalMinMaxAggregationOperator.cs
- MembershipPasswordException.cs
- ResourceAssociationTypeEnd.cs
- BinaryParser.cs
- WhitespaceRuleReader.cs
- TextElementEditingBehaviorAttribute.cs
- HttpListener.cs
- MostlySingletonList.cs
- PropertyDescriptorCollection.cs
- EntityCollectionChangedParams.cs
- TextSelectionHighlightLayer.cs
- SmuggledIUnknown.cs
- FlowDocumentReaderAutomationPeer.cs
- ReflectionPermission.cs
- documentsequencetextcontainer.cs
- _CacheStreams.cs
- SynthesizerStateChangedEventArgs.cs
- linebase.cs
- FormatVersion.cs
- SharedStatics.cs
- CssClassPropertyAttribute.cs
- ScrollPattern.cs
- StringStorage.cs
- NativeMethods.cs
- DataControlFieldCell.cs
- IProvider.cs
- CalendarAutoFormatDialog.cs
- ColumnWidthChangingEvent.cs
- FormatException.cs