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
- ColorMap.cs
- WsdlBuildProvider.cs
- WebEventTraceProvider.cs
- DictionaryBase.cs
- MarshalDirectiveException.cs
- MatrixCamera.cs
- FontCacheLogic.cs
- SafePointer.cs
- ScalarConstant.cs
- PageRanges.cs
- DbProviderManifest.cs
- SystemWebExtensionsSectionGroup.cs
- InProcStateClientManager.cs
- SafeHandle.cs
- BatchParser.cs
- FormViewInsertedEventArgs.cs
- GroupedContextMenuStrip.cs
- OletxEnlistment.cs
- DataBinder.cs
- SharedPerformanceCounter.cs
- PreviewPageInfo.cs
- HyperLink.cs
- ListViewInsertedEventArgs.cs
- UntrustedRecipientException.cs
- PackageRelationshipCollection.cs
- ClientScriptItem.cs
- Transform.cs
- DataGridViewCellValidatingEventArgs.cs
- BaseTypeViewSchema.cs
- AddDataControlFieldDialog.cs
- DataGridViewTopRowAccessibleObject.cs
- BindValidator.cs
- XPathParser.cs
- XmlSchemaAttributeGroup.cs
- CodeNamespace.cs
- SessionStateItemCollection.cs
- MetadataExporter.cs
- RuntimeHandles.cs
- MTConfigUtil.cs
- DoubleCollection.cs
- RuleValidation.cs
- BeginStoryboard.cs
- GridViewSortEventArgs.cs
- ItemCollectionEditor.cs
- ItemsChangedEventArgs.cs
- XmlChoiceIdentifierAttribute.cs
- BitmapEffectGroup.cs
- TrustLevelCollection.cs
- CaseCqlBlock.cs
- Authorization.cs
- ObjectAssociationEndMapping.cs
- EraserBehavior.cs
- LockCookie.cs
- DataGridColumn.cs
- Graphics.cs
- Boolean.cs
- WebPartExportVerb.cs
- DataContractJsonSerializer.cs
- CollectionsUtil.cs
- PrintControllerWithStatusDialog.cs
- ObjectIDGenerator.cs
- TriggerBase.cs
- PasswordRecovery.cs
- ModifierKeysConverter.cs
- EventLogPermissionEntry.cs
- UpdatePanel.cs
- MatrixUtil.cs
- Path.cs
- SchemaElement.cs
- QueryExpr.cs
- CrossAppDomainChannel.cs
- ChannelManager.cs
- UDPClient.cs
- ComplexObject.cs
- MetafileHeaderEmf.cs
- QuaternionAnimation.cs
- JsonDataContract.cs
- TextEmbeddedObject.cs
- XmlCollation.cs
- ConfigXmlReader.cs
- AppDomain.cs
- TransactionsSectionGroup.cs
- SchemaElementLookUpTable.cs
- ColorTranslator.cs
- ClientRolePrincipal.cs
- ActivityStateQuery.cs
- HtmlControl.cs
- HtmlButton.cs
- CapabilitiesPattern.cs
- PersonalizationStateInfoCollection.cs
- DelegatingTypeDescriptionProvider.cs
- AxHost.cs
- RuleSettings.cs
- FileFormatException.cs
- UriParserTemplates.cs
- CommandConverter.cs
- AttributeProviderAttribute.cs
- WebPartDisplayModeCollection.cs
- DocumentXPathNavigator.cs
- EventArgs.cs