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
- RuntimeHelpers.cs
- CustomCredentialPolicy.cs
- HashAlgorithm.cs
- Expr.cs
- DataControlReference.cs
- FixedSOMImage.cs
- Size3DConverter.cs
- XmlSchemaGroup.cs
- SpnegoTokenProvider.cs
- XamlWriterExtensions.cs
- ControlEvent.cs
- XmlEntityReference.cs
- TextElement.cs
- GenericIdentity.cs
- WindowsScrollBarBits.cs
- XmlMapping.cs
- TextAdaptor.cs
- LockedActivityGlyph.cs
- PagesSection.cs
- HttpCachePolicy.cs
- XmlDictionary.cs
- DefaultAssemblyResolver.cs
- HelpInfo.cs
- SHA1CryptoServiceProvider.cs
- XmlCharCheckingReader.cs
- MessageBox.cs
- validation.cs
- EndpointIdentityConverter.cs
- FileLogRecordStream.cs
- PreviewPrintController.cs
- LeftCellWrapper.cs
- ForEachAction.cs
- TemplateBuilder.cs
- CreateUserErrorEventArgs.cs
- FlowDocumentPaginator.cs
- InputScopeConverter.cs
- IsolatedStorageFile.cs
- DoubleCollectionConverter.cs
- SvcMapFileSerializer.cs
- Object.cs
- ServiceOperationListItem.cs
- arc.cs
- SHA384Managed.cs
- HttpInputStream.cs
- xmlformatgeneratorstatics.cs
- TimeoutException.cs
- BooleanAnimationUsingKeyFrames.cs
- clipboard.cs
- ConfigXmlText.cs
- TemplateBindingExpressionConverter.cs
- XslCompiledTransform.cs
- OdbcCommandBuilder.cs
- COM2TypeInfoProcessor.cs
- LogAppendAsyncResult.cs
- dsa.cs
- _NetRes.cs
- Psha1DerivedKeyGenerator.cs
- MenuItemBinding.cs
- Parameter.cs
- wmiprovider.cs
- XDeferredAxisSource.cs
- BindToObject.cs
- EntityParameter.cs
- UnsafeNativeMethods.cs
- MimeImporter.cs
- DynamicDataRouteHandler.cs
- ActivityMarkupSerializationProvider.cs
- KerberosSecurityTokenProvider.cs
- ElementNotAvailableException.cs
- ThemeableAttribute.cs
- DataMemberFieldConverter.cs
- Deserializer.cs
- UserControl.cs
- QueryAccessibilityHelpEvent.cs
- ValueOfAction.cs
- ConnectionsZoneDesigner.cs
- _OSSOCK.cs
- TableCell.cs
- EventManager.cs
- ReceiveActivityValidator.cs
- QilScopedVisitor.cs
- _CacheStreams.cs
- ASCIIEncoding.cs
- Size3DConverter.cs
- MediaContext.cs
- ArgumentException.cs
- DateTimeFormatInfo.cs
- VersionPair.cs
- Model3DCollection.cs
- CustomErrorsSectionWrapper.cs
- WebBrowserUriTypeConverter.cs
- SHA1CryptoServiceProvider.cs
- EdmType.cs
- HighlightVisual.cs
- RenderContext.cs
- EncodingDataItem.cs
- LinearQuaternionKeyFrame.cs
- SmtpFailedRecipientException.cs
- InstalledFontCollection.cs
- AssemblyBuilderData.cs