Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CommonUI / System / Drawing / IntSecurity.cs / 1 / IntSecurity.cs
namespace System.Drawing { using System; using System.IO; using System.Security; using System.Security.Permissions; using System.Drawing.Printing; internal static class IntSecurity { private static readonly UIPermission AllWindows = new UIPermission(UIPermissionWindow.AllWindows); private static readonly UIPermission SafeSubWindows = new UIPermission(UIPermissionWindow.SafeSubWindows); public static readonly CodeAccessPermission UnmanagedCode = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode); public static readonly CodeAccessPermission ObjectFromWin32Handle = UnmanagedCode; public static readonly CodeAccessPermission Win32HandleManipulation = UnmanagedCode; public static readonly PrintingPermission NoPrinting = new PrintingPermission(PrintingPermissionLevel.NoPrinting); public static readonly PrintingPermission SafePrinting = new PrintingPermission(PrintingPermissionLevel.SafePrinting); public static readonly PrintingPermission DefaultPrinting = new PrintingPermission(PrintingPermissionLevel.DefaultPrinting); public static readonly PrintingPermission AllPrinting = new PrintingPermission(PrintingPermissionLevel.AllPrinting); internal static void DemandReadFileIO(string fileName) { string full = fileName; full = UnsafeGetFullPath(fileName); new FileIOPermission(FileIOPermissionAccess.Read, full).Demand(); } internal static void DemandWriteFileIO(string fileName) { string full = fileName; full = UnsafeGetFullPath(fileName); new FileIOPermission(FileIOPermissionAccess.Write, full).Demand(); } internal static string UnsafeGetFullPath(string fileName) { string full = fileName; FileIOPermission fiop = new FileIOPermission(PermissionState.None); fiop.AllFiles = FileIOPermissionAccess.PathDiscovery; fiop.Assert(); try { full = Path.GetFullPath(fileName); } finally { CodeAccessPermission.RevertAssert(); } return full; } static PermissionSet allPrintingAndUnmanagedCode; public static PermissionSet AllPrintingAndUnmanagedCode { get { if (allPrintingAndUnmanagedCode == null) { PermissionSet temp = new PermissionSet(PermissionState.None); temp.SetPermission(IntSecurity.UnmanagedCode); temp.SetPermission(IntSecurity.AllPrinting); allPrintingAndUnmanagedCode = temp; } return allPrintingAndUnmanagedCode; } } internal static bool HasPermission(PrintingPermission permission) { try { permission.Demand(); return true; } catch (SecurityException) { return false; } } } } // 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
- FontFamily.cs
- Item.cs
- MessageDecoder.cs
- WebPartManagerInternals.cs
- MoveSizeWinEventHandler.cs
- XmlTypeAttribute.cs
- Constants.cs
- MethodBuilderInstantiation.cs
- TextServicesContext.cs
- ObjectListShowCommandsEventArgs.cs
- DbInsertCommandTree.cs
- ComponentFactoryHelpers.cs
- TableHeaderCell.cs
- ZipIOFileItemStream.cs
- FormCollection.cs
- ProfileServiceManager.cs
- FixedStringLookup.cs
- Visitors.cs
- WorkflowShape.cs
- SortFieldComparer.cs
- CompilerGeneratedAttribute.cs
- DrawingCollection.cs
- ClusterSafeNativeMethods.cs
- Int32KeyFrameCollection.cs
- TextParagraphProperties.cs
- SeverityFilter.cs
- PropertyCollection.cs
- ListItemCollection.cs
- ProcessManager.cs
- BindingCollection.cs
- BindingExpression.cs
- RegexMatchCollection.cs
- StreamResourceInfo.cs
- KeyValuePairs.cs
- HttpListener.cs
- WinEventQueueItem.cs
- XmlRootAttribute.cs
- ListViewItemEventArgs.cs
- FieldInfo.cs
- MainMenu.cs
- PagerStyle.cs
- ClientRuntime.cs
- Material.cs
- XmlDeclaration.cs
- TextRangeSerialization.cs
- OdbcEnvironmentHandle.cs
- FormViewCommandEventArgs.cs
- MulticastOption.cs
- MbpInfo.cs
- SingleResultAttribute.cs
- MenuItemCollection.cs
- HorizontalAlignConverter.cs
- SelectedPathEditor.cs
- altserialization.cs
- ChangePasswordAutoFormat.cs
- TableRowGroup.cs
- ContainerControl.cs
- HotCommands.cs
- DbConnectionStringCommon.cs
- ListViewDesigner.cs
- RuleEngine.cs
- XhtmlBasicFormAdapter.cs
- TreeNodeEventArgs.cs
- StrokeRenderer.cs
- BindableTemplateBuilder.cs
- ReadOnlyHierarchicalDataSource.cs
- XsltQilFactory.cs
- XmlDownloadManager.cs
- CollectionMarkupSerializer.cs
- RootNamespaceAttribute.cs
- WebPartCatalogCloseVerb.cs
- FrugalList.cs
- CodeGeneratorAttribute.cs
- BitmapPalettes.cs
- PrintPageEvent.cs
- SharedPersonalizationStateInfo.cs
- GridViewCancelEditEventArgs.cs
- MILUtilities.cs
- Slider.cs
- ElementFactory.cs
- GPPOINT.cs
- FormViewDeletedEventArgs.cs
- ThicknessConverter.cs
- BitHelper.cs
- NotImplementedException.cs
- Journal.cs
- ButtonChrome.cs
- DataGridSortCommandEventArgs.cs
- SharedPerformanceCounter.cs
- CalendarDay.cs
- GeometryModel3D.cs
- PrimitiveXmlSerializers.cs
- RewritingValidator.cs
- HashHelpers.cs
- SwitchCase.cs
- SafeCryptHandles.cs
- EventManager.cs
- MissingSatelliteAssemblyException.cs
- IsolatedStorageFile.cs
- PrinterResolution.cs