Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / Application / Trace.cs / 1 / Trace.cs
//------------------------------------------------------------------------------ //// Copyright (C) Microsoft Corporation. All rights reserved. // //// Utility class for Trace switches and methods for XpsViewer. // // // History: // 08/28/2005: [....]: Initial implementation. //----------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Globalization; using System.Security; namespace MS.Internal.Documents.Application { ////// Utility class for Trace switches and methods for XpsViewer. /// internal static class Trace { #region Internal Methods //------------------------------------------------------------------------- // Internal Methods //------------------------------------------------------------------------- /// /// Will permit only internet zone permissions for TraceListeners and is /// safe to use inside of asserts for partial trust code. /// ////// Critical: /// - Used in Assert blocks we must always revert to our lowest permission /// set because registered TraceListners may usurpe our evilvations. /// TreatAsSafe: /// - Marked Critical for audit only that PermitOnly is performed as first /// operation to ensure integrity of other reviews that depended on this /// fact. /// [SecurityCritical, SecurityTreatAsSafe] internal static void SafeWrite( BooleanSwitch boolSwitch, string format, params object[] args) { InternetPermissionSet.PermitOnly(); if (AvTrace.IsWpfTracingEnabledInRegistry()) { System.Diagnostics.Trace.WriteLineIf( boolSwitch.Enabled, string.Format( CultureInfo.CurrentUICulture, format, args), boolSwitch.DisplayName); } CodeAccessPermission.RevertPermitOnly(); } ////// Will permit only internet zone permissions for TraceListeners and is /// safe to use inside of asserts for partial trust code. /// ////// Critical: /// - Used in Assert blocks we must always revert to our lowest permission /// set because registered TraceListeners may usurp our permissions. /// TreatAsSafe: /// - Marked Critical for audit only that PermitOnly is performed as first /// operation to ensure integrity of other reviews that depended on this /// fact. /// [SecurityCritical, SecurityTreatAsSafe] internal static void SafeWriteIf( bool condition, BooleanSwitch boolSwitch, string format, params object[] args) { InternetPermissionSet.PermitOnly(); if (AvTrace.IsWpfTracingEnabledInRegistry()) { System.Diagnostics.Trace.WriteLineIf( boolSwitch.Enabled && condition, string.Format( CultureInfo.CurrentCulture, format, args), boolSwitch.DisplayName); } CodeAccessPermission.RevertPermitOnly(); } #endregion Internal Methods #region Internal Fields //-------------------------------------------------------------------------- // Internal Fields //------------------------------------------------------------------------- internal static BooleanSwitch File = new BooleanSwitch( FileSwitchName, FileSwitchName, "1"); internal static BooleanSwitch Packaging = new BooleanSwitch( PackagingSwitchName, PackagingSwitchName, "1"); internal static BooleanSwitch Presentation = new BooleanSwitch( PresentationSwitchName, PresentationSwitchName, "1"); internal static BooleanSwitch Rights = new BooleanSwitch( RightsSwitchName, RightsSwitchName, "1"); internal static BooleanSwitch Signatures = new BooleanSwitch( SignaturesSwitchName, SignaturesSwitchName, "1"); #endregion Internal Fields #region Private Fields //-------------------------------------------------------------------------- // Private Fields //-------------------------------------------------------------------------- ////// Critical: /// - Used in Assert blocks we must always revert to our lowest permission /// set because registered TraceListeners may usurp our permissions. /// TreatAsSafe: /// - Marked Critical for audit only that PermitOnly is performed as first /// operation to ensure integrity of other reviews that depended on this /// fact. /// [SecurityCritical, SecurityTreatAsSafe] private static readonly NamedPermissionSet InternetPermissionSet = new NamedPermissionSet("Internet"); private const string FileSwitchName = "XpsViewerFile"; private const string PackagingSwitchName = "XpsViewerPackaging"; private const string PresentationSwitchName = "XpsViewerUI"; private const string RightsSwitchName = "XpsViewerRights"; private const string SignaturesSwitchName = "XpsViewerSignatures"; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SelectionUIService.cs
- Wizard.cs
- AdobeCFFWrapper.cs
- InputProviderSite.cs
- BitArray.cs
- MinimizableAttributeTypeConverter.cs
- UIElementHelper.cs
- HebrewCalendar.cs
- WebPartTransformerCollection.cs
- WpfKnownMember.cs
- WebPartEditVerb.cs
- XmlTextReaderImplHelpers.cs
- SiteMapNodeItem.cs
- RegexTree.cs
- DependsOnAttribute.cs
- SecurityHelper.cs
- AVElementHelper.cs
- ValidatorCompatibilityHelper.cs
- RoutedEvent.cs
- PrimaryKeyTypeConverter.cs
- XmlAutoDetectWriter.cs
- externdll.cs
- DesignerActionVerbList.cs
- Page.cs
- ChildChangedEventArgs.cs
- HierarchicalDataBoundControlAdapter.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ConfigXmlComment.cs
- RIPEMD160.cs
- ModuleElement.cs
- RightsManagementErrorHandler.cs
- MorphHelper.cs
- ValidationErrorEventArgs.cs
- ValidationErrorEventArgs.cs
- MDIControlStrip.cs
- FieldToken.cs
- FixUp.cs
- FileDialog_Vista.cs
- SiteMapDataSourceView.cs
- CodeMemberProperty.cs
- TextCollapsingProperties.cs
- AsymmetricSecurityProtocol.cs
- BaseServiceProvider.cs
- TraceHandler.cs
- WindowsStatusBar.cs
- HostExecutionContextManager.cs
- ProfileGroupSettingsCollection.cs
- DetailsViewRow.cs
- MetafileHeader.cs
- BitmapScalingModeValidation.cs
- ExtenderControl.cs
- XhtmlBasicSelectionListAdapter.cs
- ListBoxItem.cs
- EmptyWorkItem.cs
- EditorBrowsableAttribute.cs
- OracleDateTime.cs
- TdsParserStateObject.cs
- RequestReplyCorrelator.cs
- TextHidden.cs
- EmbeddedMailObjectCollectionEditor.cs
- EmbeddedMailObject.cs
- AutomationElement.cs
- SessionState.cs
- EditingCommands.cs
- MD5.cs
- DataGridViewButtonColumn.cs
- ReaderWriterLockWrapper.cs
- ConfigurationManager.cs
- ExtendedProperty.cs
- Int16Animation.cs
- DropDownList.cs
- IISMapPath.cs
- EncryptedType.cs
- EventPropertyMap.cs
- Parallel.cs
- AssemblyInfo.cs
- IconBitmapDecoder.cs
- RegexCompiler.cs
- WebServiceParameterData.cs
- WebControlAdapter.cs
- CounterSet.cs
- ContextStack.cs
- DataGridHeaderBorder.cs
- InvocationExpression.cs
- SmiContext.cs
- URLIdentityPermission.cs
- MouseOverProperty.cs
- Compress.cs
- Attributes.cs
- StrokeNodeData.cs
- GetPageCompletedEventArgs.cs
- PageMediaSize.cs
- CodeLinePragma.cs
- HtmlAnchor.cs
- FontWeight.cs
- HierarchicalDataBoundControl.cs
- WorkflowApplicationEventArgs.cs
- QilPatternFactory.cs
- SapiInterop.cs
- RecognizerInfo.cs