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
- MultiAsyncResult.cs
- StreamWriter.cs
- Int16AnimationUsingKeyFrames.cs
- PropertyItem.cs
- Avt.cs
- OleDbParameter.cs
- Funcletizer.cs
- Emitter.cs
- SByte.cs
- EditorPartChrome.cs
- RepeatInfo.cs
- OracleCommandBuilder.cs
- ToolStripOverflow.cs
- Decoder.cs
- ThreadSafeList.cs
- QuaternionAnimationBase.cs
- GlyphShapingProperties.cs
- SymLanguageVendor.cs
- QilIterator.cs
- ColumnHeaderCollectionEditor.cs
- NameObjectCollectionBase.cs
- UxThemeWrapper.cs
- FileLoadException.cs
- MessageBox.cs
- WarningException.cs
- CustomTypeDescriptor.cs
- TypeDescriptionProviderAttribute.cs
- DependencyPropertyValueSerializer.cs
- Symbol.cs
- AudioSignalProblemOccurredEventArgs.cs
- ValueQuery.cs
- AdCreatedEventArgs.cs
- DirtyTextRange.cs
- ThreadStartException.cs
- _SpnDictionary.cs
- XmlUTF8TextReader.cs
- AncillaryOps.cs
- ClientSponsor.cs
- WebPartConnectionsDisconnectVerb.cs
- ItemChangedEventArgs.cs
- DataServiceRequest.cs
- MetadataHelper.cs
- CompensationExtension.cs
- RequestCachePolicyConverter.cs
- URIFormatException.cs
- ParseNumbers.cs
- ValueUtilsSmi.cs
- ClientFormsAuthenticationCredentials.cs
- SizeKeyFrameCollection.cs
- NewArray.cs
- Pen.cs
- UnitySerializationHolder.cs
- ScriptServiceAttribute.cs
- TopClause.cs
- SelectionList.cs
- PropertyDescriptor.cs
- BaseComponentEditor.cs
- DataGridViewIntLinkedList.cs
- GroupStyle.cs
- XmlNamedNodeMap.cs
- VarRemapper.cs
- HasCopySemanticsAttribute.cs
- SqlDataAdapter.cs
- HttpModulesSection.cs
- AdornedElementPlaceholder.cs
- DictionaryBase.cs
- AmbientProperties.cs
- SwitchAttribute.cs
- XmlSerializerVersionAttribute.cs
- WindowsTooltip.cs
- DropDownButton.cs
- ClientUtils.cs
- FigureParaClient.cs
- RelOps.cs
- DefaultBinder.cs
- ColumnHeader.cs
- XPathNodeList.cs
- ExcCanonicalXml.cs
- IPEndPoint.cs
- Part.cs
- Transform3DGroup.cs
- ArrayWithOffset.cs
- ChineseLunisolarCalendar.cs
- MessageLogTraceRecord.cs
- Utils.cs
- ManifestResourceInfo.cs
- DocumentPageViewAutomationPeer.cs
- SafeNativeMethods.cs
- Sql8ExpressionRewriter.cs
- XmlSchemaAttribute.cs
- WriteTimeStream.cs
- HttpGetProtocolImporter.cs
- XmlDataSourceNodeDescriptor.cs
- FtpWebResponse.cs
- DbLambda.cs
- WebPartUserCapability.cs
- ErrorFormatter.cs
- GAC.cs
- Int16AnimationUsingKeyFrames.cs
- DetailsViewPageEventArgs.cs