Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / IntSecurity.cs / 1305376 / IntSecurity.cs
namespace System.Drawing { using System; using System.IO; using System.Security; using System.Security.Permissions; using System.Drawing.Printing; using System.Runtime.Versioning; 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); [ResourceExposure(ResourceScope.None)] [ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)] internal static void DemandReadFileIO(string fileName) { string full = fileName; full = UnsafeGetFullPath(fileName); new FileIOPermission(FileIOPermissionAccess.Read, full).Demand(); } [ResourceExposure(ResourceScope.None)] [ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)] internal static void DemandWriteFileIO(string fileName) { string full = fileName; full = UnsafeGetFullPath(fileName); new FileIOPermission(FileIOPermissionAccess.Write, full).Demand(); } [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] 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
- ServiceModelEnhancedConfigurationElementCollection.cs
- IncrementalReadDecoders.cs
- QueryContinueDragEventArgs.cs
- NumericExpr.cs
- VisualStyleTypesAndProperties.cs
- SharedUtils.cs
- QueryRewriter.cs
- Size3D.cs
- CommandBindingCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- ToolBarButton.cs
- Monitor.cs
- SqlCommand.cs
- DbException.cs
- PathGeometry.cs
- RecognitionEventArgs.cs
- ReadOnlyDataSourceView.cs
- TargetControlTypeAttribute.cs
- SiteMapNodeItemEventArgs.cs
- XmlCollation.cs
- SqlStatistics.cs
- TraceEventCache.cs
- SingleAnimationBase.cs
- DrawListViewColumnHeaderEventArgs.cs
- ColorConvertedBitmap.cs
- EncodingInfo.cs
- DataGridViewRowCancelEventArgs.cs
- PointUtil.cs
- DynamicResourceExtension.cs
- ToolboxDataAttribute.cs
- URLMembershipCondition.cs
- TextRenderingModeValidation.cs
- CheckedListBox.cs
- X509Utils.cs
- DateTimeValueSerializerContext.cs
- Rule.cs
- Logging.cs
- TreeView.cs
- ProfileProvider.cs
- PackagePart.cs
- MultiSelectRootGridEntry.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- Rules.cs
- OptimalTextSource.cs
- RTLAwareMessageBox.cs
- Window.cs
- DocumentGridPage.cs
- SafeArrayRankMismatchException.cs
- OutputCacheSettingsSection.cs
- DBCommand.cs
- SwitchAttribute.cs
- XmlObjectSerializer.cs
- DecimalFormatter.cs
- ToolboxCategory.cs
- CodeConditionStatement.cs
- ColorMatrix.cs
- DbConnectionPoolCounters.cs
- ErrorFormatterPage.cs
- BitmapEffectGroup.cs
- DynamicValueConverter.cs
- AdornedElementPlaceholder.cs
- SimpleTypeResolver.cs
- RichTextBoxConstants.cs
- HitTestFilterBehavior.cs
- DateTimeFormatInfoScanner.cs
- MailMessage.cs
- Script.cs
- X509RecipientCertificateServiceElement.cs
- DrawToolTipEventArgs.cs
- XamlPoint3DCollectionSerializer.cs
- Point3D.cs
- XmlNodeChangedEventManager.cs
- CodeAttributeDeclarationCollection.cs
- COAUTHIDENTITY.cs
- BindingBase.cs
- FrameworkContentElement.cs
- ExceptionUtility.cs
- FormViewUpdateEventArgs.cs
- CacheMemory.cs
- objectresult_tresulttype.cs
- ConsoleTraceListener.cs
- XmlCustomFormatter.cs
- SqlFacetAttribute.cs
- EntityExpressionVisitor.cs
- DesignerValidatorAdapter.cs
- SubMenuStyleCollection.cs
- DependencyObjectPropertyDescriptor.cs
- ProtectedConfiguration.cs
- SiteMapNodeItem.cs
- AspNetHostingPermission.cs
- DLinqTableProvider.cs
- EntityWrapper.cs
- SharedHttpTransportManager.cs
- RuntimeVariablesExpression.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- SmtpDateTime.cs
- BoolExpr.cs
- ApplicationSecurityManager.cs
- BindingSource.cs
- Paragraph.cs