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
- UnsafeNativeMethods.cs
- XPathExpr.cs
- SyndicationSerializer.cs
- MessageEnumerator.cs
- ExternalFile.cs
- Main.cs
- DoubleAnimationUsingKeyFrames.cs
- ObjectQueryState.cs
- CryptoHelper.cs
- HttpGetProtocolReflector.cs
- EventDescriptor.cs
- RemotingAttributes.cs
- SqlRowUpdatedEvent.cs
- TraceContextRecord.cs
- Soap.cs
- CodeLinePragma.cs
- LabelInfo.cs
- ColorMatrix.cs
- CodeMemberField.cs
- PrintPreviewControl.cs
- Style.cs
- ValidationPropertyAttribute.cs
- ClientConfigPaths.cs
- EntitySqlQueryCacheEntry.cs
- MdImport.cs
- SqlBulkCopyColumnMapping.cs
- WaitHandle.cs
- EntityDataSourceContainerNameConverter.cs
- CompatibleComparer.cs
- CodeAttributeDeclaration.cs
- EntityCollection.cs
- ProviderConnectionPointCollection.cs
- EntityConnection.cs
- SqlTypeSystemProvider.cs
- SqlConnectionStringBuilder.cs
- AnnotationResourceCollection.cs
- TypeLoadException.cs
- KerberosRequestorSecurityToken.cs
- XhtmlCssHandler.cs
- SqlProfileProvider.cs
- XmlSchemaImport.cs
- QueryOutputWriterV1.cs
- DefaultMemberAttribute.cs
- ValidationRuleCollection.cs
- EmptyStringExpandableObjectConverter.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DefaultMemberAttribute.cs
- WsdlParser.cs
- HostSecurityManager.cs
- HwndSubclass.cs
- Latin1Encoding.cs
- UxThemeWrapper.cs
- EntitySqlQueryCacheEntry.cs
- AutomationPeer.cs
- SoundPlayer.cs
- SmtpNtlmAuthenticationModule.cs
- UrlPath.cs
- ToolboxService.cs
- ListControlConvertEventArgs.cs
- Opcode.cs
- Model3D.cs
- MenuItemAutomationPeer.cs
- EntityContainer.cs
- TrackingProfileDeserializationException.cs
- StandardMenuStripVerb.cs
- CommonGetThemePartSize.cs
- PropertyDescriptorGridEntry.cs
- CodeCommentStatementCollection.cs
- CustomPopupPlacement.cs
- ConfigXmlWhitespace.cs
- X509CertificateStore.cs
- InstanceView.cs
- LocalizationParserHooks.cs
- BridgeDataReader.cs
- TransactionInterop.cs
- PartialCachingAttribute.cs
- VarRefManager.cs
- TrackingMemoryStream.cs
- CreationContext.cs
- XmlDataSourceView.cs
- SplashScreen.cs
- WCFServiceClientProxyGenerator.cs
- XmlUtil.cs
- XmlHelper.cs
- ColorInterpolationModeValidation.cs
- RegexRunnerFactory.cs
- Table.cs
- XmlArrayAttribute.cs
- Events.cs
- HTTPNotFoundHandler.cs
- ImageAttributes.cs
- HtmlInputControl.cs
- XmlSchemas.cs
- ValidationErrorCollection.cs
- EditorBrowsableAttribute.cs
- ConnectionsZoneAutoFormat.cs
- PrintEvent.cs
- MenuCommand.cs
- FolderBrowserDialog.cs
- SafeEventLogReadHandle.cs