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
- FontStyle.cs
- GenericNameHandler.cs
- OleDbStruct.cs
- SizeChangedInfo.cs
- ServiceParser.cs
- ZipIORawDataFileBlock.cs
- HwndKeyboardInputProvider.cs
- BitmapEffectDrawing.cs
- TagPrefixAttribute.cs
- MetadataHelper.cs
- NullableDecimalAverageAggregationOperator.cs
- ReachPrintTicketSerializerAsync.cs
- FieldDescriptor.cs
- DataMemberConverter.cs
- Italic.cs
- EnumDataContract.cs
- XmlDataLoader.cs
- PreviewKeyDownEventArgs.cs
- _HeaderInfoTable.cs
- SiteMapDataSourceView.cs
- TextTreeFixupNode.cs
- WindowsEditBox.cs
- LambdaCompiler.Unary.cs
- Model3D.cs
- UIHelper.cs
- FileDetails.cs
- CodeChecksumPragma.cs
- Thumb.cs
- MetricEntry.cs
- WebServiceBindingAttribute.cs
- PolicyVersion.cs
- ConsumerConnectionPoint.cs
- OdbcConnectionOpen.cs
- DataGridViewRowsRemovedEventArgs.cs
- OneOfTypeConst.cs
- Grid.cs
- CompositionTarget.cs
- Enumerable.cs
- ClientRolePrincipal.cs
- RectangleConverter.cs
- NativeMsmqMessage.cs
- SurrogateEncoder.cs
- AbstractDataSvcMapFileLoader.cs
- ManipulationDeltaEventArgs.cs
- XmlEntityReference.cs
- DataTableExtensions.cs
- CuspData.cs
- ApplicationHost.cs
- UnknownBitmapDecoder.cs
- StackOverflowException.cs
- StylusOverProperty.cs
- SafeEventHandle.cs
- SqlBuffer.cs
- XmlSerializationWriter.cs
- TypeExtensionConverter.cs
- TextEditorLists.cs
- TemplateBuilder.cs
- SqlCommandBuilder.cs
- BoundPropertyEntry.cs
- ExceptQueryOperator.cs
- SqlResolver.cs
- DataSetViewSchema.cs
- PageContent.cs
- PassportPrincipal.cs
- LineInfo.cs
- DefaultSection.cs
- ActivityBindForm.Designer.cs
- TableLayoutPanelResizeGlyph.cs
- RouteCollection.cs
- Baml2006KeyRecord.cs
- WebPartConnectionsCancelEventArgs.cs
- SqlWebEventProvider.cs
- ReflectionUtil.cs
- WebPartDeleteVerb.cs
- XmlILStorageConverter.cs
- DataFormats.cs
- NamespaceDecl.cs
- RenderOptions.cs
- CachingParameterInspector.cs
- WorkflowDefinitionDispenser.cs
- GridViewDeleteEventArgs.cs
- XmlTextReaderImplHelpers.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ComponentEvent.cs
- ExternalException.cs
- WindowsTokenRoleProvider.cs
- ValidationHelpers.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- AmbientProperties.cs
- XmlSchemaChoice.cs
- StreamingContext.cs
- ListViewCancelEventArgs.cs
- KnownIds.cs
- EventItfInfo.cs
- ContainerAction.cs
- SplitContainer.cs
- WorkflowOperationFault.cs
- PassportAuthenticationEventArgs.cs
- ChildChangedEventArgs.cs
- SettingsContext.cs