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
- RowSpanVector.cs
- OdbcDataReader.cs
- CustomTypeDescriptor.cs
- XmlSchemaInfo.cs
- EditorZoneBase.cs
- CancelEventArgs.cs
- GiveFeedbackEventArgs.cs
- ExpressionConverter.cs
- AssemblyAttributes.cs
- SelectedDatesCollection.cs
- AmbientProperties.cs
- RootBrowserWindowAutomationPeer.cs
- StreamWithDictionary.cs
- CompilerErrorCollection.cs
- AssemblyBuilder.cs
- Console.cs
- SpotLight.cs
- TitleStyle.cs
- VideoDrawing.cs
- DataSourceGroupCollection.cs
- WebBaseEventKeyComparer.cs
- PageContentCollection.cs
- ClipboardData.cs
- DLinqAssociationProvider.cs
- HtmlInputSubmit.cs
- DelegateBodyWriter.cs
- ResourcePart.cs
- ImageAttributes.cs
- SafeCloseHandleCritical.cs
- SerializationIncompleteException.cs
- ErrorFormatter.cs
- XmlTextReaderImpl.cs
- MaskedTextBoxDesignerActionList.cs
- DecoderNLS.cs
- UDPClient.cs
- ServiceOperationInfoTypeConverter.cs
- ToolBarPanel.cs
- Int32Converter.cs
- AuthenticationConfig.cs
- CommandLibraryHelper.cs
- CanonicalXml.cs
- ProfileSettingsCollection.cs
- AutomationElementCollection.cs
- PermissionSet.cs
- XpsDocument.cs
- CodeStatement.cs
- StateMachine.cs
- ListViewDeleteEventArgs.cs
- XmlResolver.cs
- TrackingProfile.cs
- mansign.cs
- XmlCountingReader.cs
- SmiContextFactory.cs
- InvokeBase.cs
- MessageSecurityProtocol.cs
- RawStylusInputReport.cs
- DataServiceCollectionOfT.cs
- ProviderUtil.cs
- MULTI_QI.cs
- FileLoadException.cs
- Pen.cs
- TextAutomationPeer.cs
- Utility.cs
- WindowsFormsLinkLabel.cs
- RbTree.cs
- Timer.cs
- HelpInfo.cs
- CodeEntryPointMethod.cs
- QuadraticBezierSegment.cs
- DesignerActionUIStateChangeEventArgs.cs
- TextShapeableCharacters.cs
- SQLBinaryStorage.cs
- XmlName.cs
- Deflater.cs
- UMPAttributes.cs
- Util.cs
- UserInitiatedNavigationPermission.cs
- RTLAwareMessageBox.cs
- SqlPersonalizationProvider.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- pingexception.cs
- DispatcherHooks.cs
- XmlSchemaProviderAttribute.cs
- ColorConverter.cs
- SetUserLanguageRequest.cs
- KnownBoxes.cs
- ContentWrapperAttribute.cs
- FixedPageStructure.cs
- DesignerAttributeInfo.cs
- DataGridViewTextBoxColumn.cs
- SqlRewriteScalarSubqueries.cs
- TextOutput.cs
- ObjectDesignerDataSourceView.cs
- SafeSystemMetrics.cs
- TabletCollection.cs
- SQLInt64.cs
- ACL.cs
- ConfigurationSchemaErrors.cs
- XmlLanguageConverter.cs
- DatatypeImplementation.cs