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
- BamlResourceSerializer.cs
- XXXOnTypeBuilderInstantiation.cs
- DXD.cs
- InvalidOleVariantTypeException.cs
- OdbcReferenceCollection.cs
- DecoderReplacementFallback.cs
- DataGridViewColumnCollection.cs
- ListViewContainer.cs
- URLIdentityPermission.cs
- RightsManagementInformation.cs
- invalidudtexception.cs
- VirtualizingStackPanel.cs
- DataGridPagerStyle.cs
- ScriptMethodAttribute.cs
- ServiceAppDomainAssociationProvider.cs
- ThemeDictionaryExtension.cs
- CharacterBuffer.cs
- PointHitTestResult.cs
- SingleConverter.cs
- NameScopePropertyAttribute.cs
- CodePrimitiveExpression.cs
- FlowLayout.cs
- OutputCacheSection.cs
- TrackingLocationCollection.cs
- RegexCharClass.cs
- AuthorizationSection.cs
- BufferModeSettings.cs
- PeerConnector.cs
- RouteValueExpressionBuilder.cs
- objectresult_tresulttype.cs
- LinkConverter.cs
- TreeViewImageIndexConverter.cs
- ServiceManagerHandle.cs
- ServiceObjectContainer.cs
- Fonts.cs
- DbProviderManifest.cs
- Automation.cs
- ReturnEventArgs.cs
- _ChunkParse.cs
- Common.cs
- EncoderReplacementFallback.cs
- TaskHelper.cs
- SqlDependency.cs
- CngProvider.cs
- MappingItemCollection.cs
- MetadataItem_Static.cs
- ProxyHwnd.cs
- AttributeEmitter.cs
- KeyMatchBuilder.cs
- TrustManagerPromptUI.cs
- InheritanceRules.cs
- CodeTypeDeclarationCollection.cs
- Point4D.cs
- ExtenderProvidedPropertyAttribute.cs
- MaterialCollection.cs
- WebPartConnectionsConnectVerb.cs
- SingleConverter.cs
- LabelEditEvent.cs
- DataTableExtensions.cs
- VarRemapper.cs
- ListViewInsertionMark.cs
- ObjectDataSourceDesigner.cs
- Speller.cs
- PrePostDescendentsWalker.cs
- VirtualizedContainerService.cs
- XmlElementCollection.cs
- PersonalizationStateInfoCollection.cs
- ItemsPanelTemplate.cs
- LinearGradientBrush.cs
- CaretElement.cs
- Thread.cs
- CodeArrayIndexerExpression.cs
- ValidationUtility.cs
- PermissionAttributes.cs
- Helpers.cs
- ValidationSummary.cs
- BitmapEffectInput.cs
- WinFormsComponentEditor.cs
- SqlTriggerAttribute.cs
- IPGlobalProperties.cs
- RoutedPropertyChangedEventArgs.cs
- AutomationEvent.cs
- ListenerConnectionModeReader.cs
- DataRowView.cs
- FormViewModeEventArgs.cs
- Rect3DValueSerializer.cs
- PageBreakRecord.cs
- TdsValueSetter.cs
- ExceptionWrapper.cs
- SoapSchemaMember.cs
- RegistryKey.cs
- SqlCommand.cs
- FontWeightConverter.cs
- Tokenizer.cs
- TabControl.cs
- AccessDataSource.cs
- QueryCacheEntry.cs
- Int16Storage.cs
- FirewallWrapper.cs
- SiblingIterators.cs