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
- DecimalMinMaxAggregationOperator.cs
- CheckedPointers.cs
- BitVector32.cs
- CodeDomSerializerBase.cs
- PathTooLongException.cs
- WebGetAttribute.cs
- DataGridViewMethods.cs
- DesignerLabelAdapter.cs
- Parsers.cs
- XmlNode.cs
- __ConsoleStream.cs
- XPathCompileException.cs
- AuthenticatedStream.cs
- TextServicesDisplayAttributePropertyRanges.cs
- TextLineResult.cs
- LZCodec.cs
- HtmlTernaryTree.cs
- XmlSchemaCollection.cs
- RecordManager.cs
- JsonCollectionDataContract.cs
- EncoderReplacementFallback.cs
- COM2PictureConverter.cs
- AngleUtil.cs
- EventManager.cs
- Compress.cs
- UIElementPropertyUndoUnit.cs
- StringDictionary.cs
- Source.cs
- SizeChangedEventArgs.cs
- securitycriticaldata.cs
- HttpCapabilitiesSectionHandler.cs
- TextEffectCollection.cs
- RightsManagementPermission.cs
- CompoundFileStreamReference.cs
- TypeElement.cs
- FloaterBaseParagraph.cs
- MultipleViewPattern.cs
- UserValidatedEventArgs.cs
- TcpConnectionPoolSettings.cs
- BitStack.cs
- LocalizableAttribute.cs
- ContextMenuStripGroupCollection.cs
- DocumentViewer.cs
- DateTimeFormat.cs
- DefaultPrintController.cs
- PowerStatus.cs
- SimpleWorkerRequest.cs
- LocalValueEnumerator.cs
- remotingproxy.cs
- SqlProvider.cs
- AssemblyAttributes.cs
- XmlValidatingReaderImpl.cs
- MissingMethodException.cs
- ObjectDataSourceWizardForm.cs
- ScrollableControlDesigner.cs
- Quad.cs
- QueryOutputWriter.cs
- Int32EqualityComparer.cs
- EncodingInfo.cs
- HttpFileCollection.cs
- ConfigXmlText.cs
- HttpCookie.cs
- StreamGeometryContext.cs
- EmptyQuery.cs
- UnsafeNativeMethodsTablet.cs
- PreApplicationStartMethodAttribute.cs
- TreeViewImageIndexConverter.cs
- ColumnHeaderConverter.cs
- XPathChildIterator.cs
- TextEndOfParagraph.cs
- SignerInfo.cs
- DataExpression.cs
- IntranetCredentialPolicy.cs
- WmpBitmapEncoder.cs
- PriorityQueue.cs
- SchemaNamespaceManager.cs
- InvalidProgramException.cs
- DataIdProcessor.cs
- TreeViewItem.cs
- HyperlinkAutomationPeer.cs
- MenuItemCollection.cs
- TranslateTransform.cs
- GregorianCalendar.cs
- TableLayoutCellPaintEventArgs.cs
- SoapFaultCodes.cs
- MeasureItemEvent.cs
- DependencyPropertyChangedEventArgs.cs
- Storyboard.cs
- Binding.cs
- HostingEnvironmentWrapper.cs
- FixUp.cs
- FieldAccessException.cs
- FormViewRow.cs
- ConstantProjectedSlot.cs
- SettingsPropertyCollection.cs
- TypeSource.cs
- EntityCollection.cs
- RedirectionProxy.cs
- IsolationInterop.cs
- FormsAuthenticationConfiguration.cs