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
- SkipQueryOptionExpression.cs
- EventLogger.cs
- LoginCancelEventArgs.cs
- EdgeModeValidation.cs
- parserscommon.cs
- BuilderElements.cs
- ClientSponsor.cs
- HostExecutionContextManager.cs
- XmlEncodedRawTextWriter.cs
- ConfigurationElementCollection.cs
- ClockGroup.cs
- FloaterBaseParagraph.cs
- TransferMode.cs
- XPathNodeIterator.cs
- SystemSounds.cs
- Tablet.cs
- AspNetSynchronizationContext.cs
- MessageQueueTransaction.cs
- SqlDataSourceView.cs
- WebPartRestoreVerb.cs
- Psha1DerivedKeyGeneratorHelper.cs
- XmlIgnoreAttribute.cs
- InvalidComObjectException.cs
- ComponentDispatcher.cs
- XsltSettings.cs
- CacheMemory.cs
- ToolboxBitmapAttribute.cs
- CatalogZoneDesigner.cs
- MetadataItem.cs
- PhysicalFontFamily.cs
- VirtualPath.cs
- DocumentViewerBase.cs
- LexicalChunk.cs
- DependencyObjectProvider.cs
- ReflectionServiceProvider.cs
- StringDictionary.cs
- CodeMethodReturnStatement.cs
- DetailsViewActionList.cs
- AuthorizationRule.cs
- WebColorConverter.cs
- FacetChecker.cs
- RotationValidation.cs
- CookieParameter.cs
- SecurityTokenAuthenticator.cs
- ToolStripContentPanelRenderEventArgs.cs
- DocumentOrderComparer.cs
- WebPartsSection.cs
- WebHeaderCollection.cs
- ProxyElement.cs
- GlyphRunDrawing.cs
- ResourceCategoryAttribute.cs
- DesignTimeParseData.cs
- InstanceHandleReference.cs
- DetailsViewRow.cs
- WebSysDisplayNameAttribute.cs
- ConfigurationSectionCollection.cs
- AuthenticationConfig.cs
- StyleSheetDesigner.cs
- CodeArrayCreateExpression.cs
- Stylus.cs
- SkipStoryboardToFill.cs
- ToolStripPanelCell.cs
- ApplicationTrust.cs
- RegexMatch.cs
- ProfileEventArgs.cs
- KeySplineConverter.cs
- MonikerSyntaxException.cs
- WCFServiceClientProxyGenerator.cs
- Button.cs
- Int32Rect.cs
- PenThreadWorker.cs
- GACMembershipCondition.cs
- ValidatingReaderNodeData.cs
- ContentType.cs
- OutputCache.cs
- CompilationUnit.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- AnimationTimeline.cs
- VisualProxy.cs
- TimeZoneNotFoundException.cs
- SqlDataSource.cs
- Item.cs
- UnauthorizedWebPart.cs
- ElementProxy.cs
- WebDisplayNameAttribute.cs
- CharEntityEncoderFallback.cs
- DesignTimeTemplateParser.cs
- TypeListConverter.cs
- ReferenceEqualityComparer.cs
- SymbolType.cs
- StrongName.cs
- TreeIterator.cs
- MediaCommands.cs
- ExtractorMetadata.cs
- ThreadPool.cs
- FacetValueContainer.cs
- RootBuilder.cs
- BooleanAnimationUsingKeyFrames.cs
- XmlDocument.cs
- BoolExpr.cs