Code:
/ DotNET / DotNET / 8.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
- TrackingMemoryStream.cs
- HtmlInputControl.cs
- CachedFontFace.cs
- TargetConverter.cs
- DbConnectionPoolGroup.cs
- GridItem.cs
- PriorityBindingExpression.cs
- ZipIOExtraFieldZip64Element.cs
- TextDecoration.cs
- DocumentEventArgs.cs
- PenContext.cs
- RectangleF.cs
- StaticSiteMapProvider.cs
- CannotUnloadAppDomainException.cs
- WpfPayload.cs
- GroupQuery.cs
- ListBindableAttribute.cs
- TimersDescriptionAttribute.cs
- Scene3D.cs
- CodeArrayCreateExpression.cs
- ThicknessConverter.cs
- EditingMode.cs
- PerformanceCounter.cs
- ListItemCollection.cs
- DesignerActionUIService.cs
- NativeMethods.cs
- GenericWebPart.cs
- SBCSCodePageEncoding.cs
- StandardToolWindows.cs
- TemplateBaseAction.cs
- TemplateComponentConnector.cs
- AuthenticationServiceManager.cs
- Point3D.cs
- Attributes.cs
- SafeCryptHandles.cs
- StickyNote.cs
- GridViewSelectEventArgs.cs
- MetadataItemEmitter.cs
- SourceFilter.cs
- MsmqProcessProtocolHandler.cs
- HelloOperationCD1AsyncResult.cs
- FormsAuthenticationModule.cs
- UnsafeNativeMethods.cs
- TextTrailingWordEllipsis.cs
- BitmapEffectInputConnector.cs
- FolderLevelBuildProviderCollection.cs
- ListViewItemMouseHoverEvent.cs
- RightsManagementInformation.cs
- ArrayConverter.cs
- CatalogPartChrome.cs
- FullTextBreakpoint.cs
- NonParentingControl.cs
- propertytag.cs
- SimpleMailWebEventProvider.cs
- WebCategoryAttribute.cs
- ColumnCollection.cs
- EnvironmentPermission.cs
- PenThreadPool.cs
- FixedFlowMap.cs
- WindowAutomationPeer.cs
- DesignerCatalogPartChrome.cs
- CatalogPartCollection.cs
- CatalogZone.cs
- HttpCookie.cs
- UnknownBitmapEncoder.cs
- InvalidPropValue.cs
- WindowsPen.cs
- PeerApplicationLaunchInfo.cs
- GridProviderWrapper.cs
- WinFormsComponentEditor.cs
- Padding.cs
- EntityDataSourceDataSelectionPanel.cs
- ColorAnimation.cs
- Vertex.cs
- DesignerAttributeInfo.cs
- PolicyManager.cs
- EventDescriptor.cs
- RuntimeHelpers.cs
- PropertyFilterAttribute.cs
- EdmFunction.cs
- XmlSchemaSimpleContentExtension.cs
- HyperLink.cs
- OpenFileDialog.cs
- TagPrefixInfo.cs
- AuthenticationModulesSection.cs
- GradientSpreadMethodValidation.cs
- HttpPostedFileBase.cs
- Faults.cs
- GenericPrincipal.cs
- CodeDOMProvider.cs
- FrameworkElementFactory.cs
- MDIClient.cs
- WorkflowApplicationEventArgs.cs
- DbConnectionPoolGroup.cs
- Transform.cs
- ParserOptions.cs
- RegexGroupCollection.cs
- ViewDesigner.cs
- SqlVersion.cs
- ObjectAssociationEndMapping.cs