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
- ColorTypeConverter.cs
- SizeF.cs
- PersistNameAttribute.cs
- ListParaClient.cs
- IItemProperties.cs
- PackageDigitalSignature.cs
- InlineUIContainer.cs
- WebPartEditorApplyVerb.cs
- TreeIterators.cs
- HandlerBase.cs
- FontClient.cs
- PersonalizationStateQuery.cs
- CheckBoxStandardAdapter.cs
- ReferentialConstraint.cs
- Convert.cs
- JsonFormatWriterGenerator.cs
- ArraySubsetEnumerator.cs
- GenericPrincipal.cs
- RSATokenProvider.cs
- EndOfStreamException.cs
- XmlSchemaSimpleType.cs
- LineSegment.cs
- ArithmeticException.cs
- ServicePointManager.cs
- AutomationPropertyInfo.cs
- XmlWrappingReader.cs
- GetPageNumberCompletedEventArgs.cs
- ComponentDesigner.cs
- Rotation3D.cs
- CodeTypeMember.cs
- OneOf.cs
- DoubleAnimationClockResource.cs
- AffineTransform3D.cs
- RegexCapture.cs
- XmlSchemaSimpleType.cs
- WindowsStatusBar.cs
- AttributeEmitter.cs
- ObjectMemberMapping.cs
- XamlStream.cs
- PreservationFileReader.cs
- precedingquery.cs
- ObjectDataProvider.cs
- AtomicFile.cs
- DataQuery.cs
- WebControlsSection.cs
- WorkflowApplicationCompletedException.cs
- EventSetterHandlerConverter.cs
- DataAccessor.cs
- PipelineDeploymentState.cs
- LinkConverter.cs
- COSERVERINFO.cs
- Classification.cs
- TextSimpleMarkerProperties.cs
- CommandBinding.cs
- SiteMap.cs
- TextOnlyOutput.cs
- ResourceSet.cs
- RequestCachePolicyConverter.cs
- InputProcessorProfiles.cs
- DSASignatureDeformatter.cs
- HiddenField.cs
- PingOptions.cs
- TypedReference.cs
- VisualBrush.cs
- ObjectStorage.cs
- Subtree.cs
- DeploymentExceptionMapper.cs
- ProvidePropertyAttribute.cs
- SqlDependencyUtils.cs
- UnaryNode.cs
- DispatchChannelSink.cs
- OpacityConverter.cs
- AutoGeneratedField.cs
- TrustSection.cs
- ConfigurationManager.cs
- UpdateDelegates.Generated.cs
- ExpressionBuilder.cs
- GridViewColumnHeader.cs
- FileDialog_Vista.cs
- Delegate.cs
- SqlDependencyListener.cs
- ILGenerator.cs
- CallbackHandler.cs
- ImportContext.cs
- TogglePatternIdentifiers.cs
- streamingZipPartStream.cs
- ParallelQuery.cs
- XPathMultyIterator.cs
- ExpandSegmentCollection.cs
- RadialGradientBrush.cs
- ArraySubsetEnumerator.cs
- ContainsRowNumberChecker.cs
- WebPartDeleteVerb.cs
- ClonableStack.cs
- SQLRoleProvider.cs
- CommonBehaviorsSection.cs
- PeerNameRecord.cs
- ListViewAutomationPeer.cs
- Activator.cs
- CollectionType.cs