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
- DataSet.cs
- XmlReaderSettings.cs
- PaintEvent.cs
- DataColumn.cs
- TypedRowGenerator.cs
- ModelTreeEnumerator.cs
- HtmlInputHidden.cs
- HttpBufferlessInputStream.cs
- TableCell.cs
- UnionQueryOperator.cs
- PersonalizationDictionary.cs
- EventHandlers.cs
- ActionItem.cs
- PointLight.cs
- PixelFormatConverter.cs
- CompiledRegexRunnerFactory.cs
- VirtualPath.cs
- EntityDataSourceDesignerHelper.cs
- WebPartsSection.cs
- PropertyInformation.cs
- _HeaderInfoTable.cs
- Propagator.Evaluator.cs
- RoleManagerSection.cs
- DebugView.cs
- Literal.cs
- ContainerFilterService.cs
- XmlNamespaceMapping.cs
- SecUtil.cs
- LiteralTextContainerControlBuilder.cs
- ToolStripDropDownMenu.cs
- FormViewUpdatedEventArgs.cs
- EdmProperty.cs
- ReflectionServiceProvider.cs
- PEFileReader.cs
- DeferredTextReference.cs
- DataGridViewImageColumn.cs
- StylusSystemGestureEventArgs.cs
- ResourceDefaultValueAttribute.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- Typeface.cs
- initElementDictionary.cs
- CodeTypeReferenceCollection.cs
- ValidationHelper.cs
- XPathAncestorQuery.cs
- TextAction.cs
- DefaultPrintController.cs
- SoapParser.cs
- PropertyPath.cs
- ExpressionHelper.cs
- ToolStripItemCollection.cs
- ConnectionProviderAttribute.cs
- MouseActionConverter.cs
- Visual3D.cs
- RIPEMD160Managed.cs
- adornercollection.cs
- Operators.cs
- TagPrefixAttribute.cs
- ProcessModelSection.cs
- OdbcStatementHandle.cs
- MarkupCompilePass1.cs
- Hashtable.cs
- SqlTypeSystemProvider.cs
- UnconditionalPolicy.cs
- IRCollection.cs
- AbsoluteQuery.cs
- VirtualStackFrame.cs
- CommonProperties.cs
- RTLAwareMessageBox.cs
- Ipv6Element.cs
- TaiwanCalendar.cs
- UnSafeCharBuffer.cs
- TypeDescriptor.cs
- DataGridViewRowConverter.cs
- PageVisual.cs
- oledbconnectionstring.cs
- NativeRecognizer.cs
- RegexNode.cs
- ImageListImageEditor.cs
- PartialToken.cs
- CursorInteropHelper.cs
- XamlFigureLengthSerializer.cs
- DataGridCellAutomationPeer.cs
- SoapSchemaImporter.cs
- DataGridViewImageColumn.cs
- LineInfo.cs
- DataGridViewCellLinkedList.cs
- EntityCommandDefinition.cs
- SamlAuthenticationStatement.cs
- HttpValueCollection.cs
- GenericNameHandler.cs
- ListViewTableRow.cs
- _RequestCacheProtocol.cs
- Base64Encoder.cs
- PageAsyncTaskManager.cs
- ListViewAutomationPeer.cs
- TablePattern.cs
- ToolStripDropTargetManager.cs
- XmlDownloadManager.cs
- WithStatement.cs
- _OSSOCK.cs