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
- Run.cs
- FilteredDataSetHelper.cs
- _NegoState.cs
- MessageLoggingFilterTraceRecord.cs
- FloatSumAggregationOperator.cs
- MediaTimeline.cs
- RegexCaptureCollection.cs
- TrackingServices.cs
- StaticResourceExtension.cs
- ListDictionary.cs
- ScrollViewer.cs
- RepeaterItemCollection.cs
- SafeNativeMemoryHandle.cs
- ToolStrip.cs
- ResetableIterator.cs
- X509Utils.cs
- TextUtf8RawTextWriter.cs
- StringDictionary.cs
- __Filters.cs
- MessagePropertyFilter.cs
- SwitchElementsCollection.cs
- DesignerExtenders.cs
- CodeDirectionExpression.cs
- ClientConfigPaths.cs
- AbstractSvcMapFileLoader.cs
- Section.cs
- BitConverter.cs
- StylusDownEventArgs.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- OletxTransactionHeader.cs
- TextRunProperties.cs
- CapabilitiesUse.cs
- FileDialog.cs
- DesignerAttributeInfo.cs
- CalculatedColumn.cs
- ObjectViewListener.cs
- EditCommandColumn.cs
- SafeNativeMethodsCLR.cs
- FontSource.cs
- LostFocusEventManager.cs
- ClientRuntimeConfig.cs
- AspNetSynchronizationContext.cs
- SoapSchemaExporter.cs
- UnionCodeGroup.cs
- MailWebEventProvider.cs
- MULTI_QI.cs
- XPathParser.cs
- AbsoluteQuery.cs
- DialogResultConverter.cs
- PropertyValueUIItem.cs
- AttributeProviderAttribute.cs
- ClientType.cs
- ZipIORawDataFileBlock.cs
- DragDrop.cs
- ConnectionManagementSection.cs
- ReflectTypeDescriptionProvider.cs
- AspNetRouteServiceHttpHandler.cs
- FontStyle.cs
- ObjectStateManager.cs
- XmlnsCompatibleWithAttribute.cs
- HtmlInputImage.cs
- Encoder.cs
- cookieexception.cs
- ElementFactory.cs
- DbConnectionPoolIdentity.cs
- ComponentConverter.cs
- MessageSecurityOverMsmq.cs
- ValidatingCollection.cs
- VariableQuery.cs
- Rotation3DKeyFrameCollection.cs
- TableLayoutSettingsTypeConverter.cs
- ZoomPercentageConverter.cs
- DesignerHelpers.cs
- AccessedThroughPropertyAttribute.cs
- ProgressChangedEventArgs.cs
- CompoundFileStreamReference.cs
- XmlAttributeOverrides.cs
- MasterPageBuildProvider.cs
- OleDbFactory.cs
- FormsAuthenticationConfiguration.cs
- HttpStreamMessageEncoderFactory.cs
- LogSwitch.cs
- SiteMapNodeItem.cs
- FastEncoderWindow.cs
- RecordsAffectedEventArgs.cs
- XmlDataLoader.cs
- IfAction.cs
- SoapCommonClasses.cs
- SetterBaseCollection.cs
- EndpointDiscoveryMetadata.cs
- TrackingProfile.cs
- EntityDataSourceMemberPath.cs
- DirectoryRedirect.cs
- AutoGeneratedField.cs
- TagMapCollection.cs
- StorageEndPropertyMapping.cs
- AdRotator.cs
- UrlMapping.cs
- DropShadowBitmapEffect.cs
- OracleDateTime.cs