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
- AsyncCompletedEventArgs.cs
- EntityCommandDefinition.cs
- ObjectViewQueryResultData.cs
- StatusBarItem.cs
- CodeDelegateInvokeExpression.cs
- Renderer.cs
- DayRenderEvent.cs
- Page.cs
- XmlILAnnotation.cs
- ContractReference.cs
- SrgsSemanticInterpretationTag.cs
- WebPartChrome.cs
- sortedlist.cs
- SnapshotChangeTrackingStrategy.cs
- Identity.cs
- ProjectionPlanCompiler.cs
- CodeSubDirectoriesCollection.cs
- RegexStringValidator.cs
- RequestQueue.cs
- CodeBinaryOperatorExpression.cs
- ProfileService.cs
- TreeNodeCollection.cs
- OleAutBinder.cs
- Error.cs
- ZipIOCentralDirectoryBlock.cs
- SafeIUnknown.cs
- ByeOperation11AsyncResult.cs
- PropertyKey.cs
- HeaderCollection.cs
- CapabilitiesUse.cs
- AuthenticateEventArgs.cs
- EntityDataSourceWizardForm.cs
- IdentityHolder.cs
- StandardToolWindows.cs
- FixedSOMElement.cs
- TemplateBuilder.cs
- PaperSource.cs
- DataGridViewCheckBoxCell.cs
- HashLookup.cs
- ImageSourceValueSerializer.cs
- MultiPageTextView.cs
- LinqDataSourceSelectEventArgs.cs
- SudsCommon.cs
- SerTrace.cs
- ApplicationBuildProvider.cs
- QilStrConcatenator.cs
- EnvelopedSignatureTransform.cs
- _LazyAsyncResult.cs
- PersonalizableTypeEntry.cs
- Int16.cs
- WebReferencesBuildProvider.cs
- _Semaphore.cs
- Error.cs
- EpmSyndicationContentSerializer.cs
- EditBehavior.cs
- ParamArrayAttribute.cs
- Timer.cs
- Constraint.cs
- EntityContainerEmitter.cs
- VarRemapper.cs
- NameTable.cs
- TextBreakpoint.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- DataListItemEventArgs.cs
- TextDecorationUnitValidation.cs
- FontDifferentiator.cs
- HashHelpers.cs
- AddInController.cs
- FamilyMap.cs
- MsmqInputChannel.cs
- VarRefManager.cs
- SynchronizationContext.cs
- SqlCacheDependencyDatabaseCollection.cs
- DetailsViewDeleteEventArgs.cs
- LocatorGroup.cs
- ProtocolsConfigurationEntry.cs
- RunInstallerAttribute.cs
- MulticastDelegate.cs
- SectionUpdates.cs
- List.cs
- IncrementalHitTester.cs
- MaskedTextBoxTextEditorDropDown.cs
- LinkButton.cs
- Selector.cs
- ImageSource.cs
- TableRowGroup.cs
- XamlValidatingReader.cs
- CharacterBufferReference.cs
- Timer.cs
- RequestCachePolicyConverter.cs
- HtmlWindowCollection.cs
- DragCompletedEventArgs.cs
- ContextMenu.cs
- Keywords.cs
- HybridObjectCache.cs
- DecoderFallbackWithFailureFlag.cs
- Errors.cs
- ValidationManager.cs
- DependencyProperty.cs
- RequestValidator.cs