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
- XPathMessageFilterTable.cs
- ProvidersHelper.cs
- WebPartMovingEventArgs.cs
- CompoundFileStreamReference.cs
- PageCodeDomTreeGenerator.cs
- SQLMoneyStorage.cs
- FormatStringEditor.cs
- OracleLob.cs
- GuidConverter.cs
- FixedSchema.cs
- ForeignConstraint.cs
- SingleTagSectionHandler.cs
- JoinSymbol.cs
- SymDocumentType.cs
- MaterialGroup.cs
- CustomCategoryAttribute.cs
- LinqDataSourceStatusEventArgs.cs
- ipaddressinformationcollection.cs
- TileBrush.cs
- IconHelper.cs
- RelatedImageListAttribute.cs
- LinqDataSourceValidationException.cs
- AutoResizedEvent.cs
- TreeNodeCollection.cs
- DragEvent.cs
- OptimisticConcurrencyException.cs
- InstanceLockedException.cs
- RSAOAEPKeyExchangeDeformatter.cs
- IOException.cs
- TextEditorTyping.cs
- BuildResultCache.cs
- DataGridViewComboBoxColumn.cs
- FixedPageProcessor.cs
- UniqueID.cs
- KeyboardNavigation.cs
- ExternalFile.cs
- DataShape.cs
- XmlElementAttributes.cs
- ButtonField.cs
- SoapAttributeAttribute.cs
- TableCell.cs
- PeerApplicationLaunchInfo.cs
- Variable.cs
- JavaScriptSerializer.cs
- SrgsRule.cs
- WebUtil.cs
- CompilerResults.cs
- TraceListener.cs
- SqlConnectionManager.cs
- DataGridViewSelectedColumnCollection.cs
- OdbcConnectionString.cs
- VisualBrush.cs
- RepeatButton.cs
- ExeContext.cs
- ToolStripGripRenderEventArgs.cs
- Parameter.cs
- MethodCallTranslator.cs
- UIElementParaClient.cs
- BindingCompleteEventArgs.cs
- HatchBrush.cs
- userdatakeys.cs
- ClaimTypes.cs
- StyleTypedPropertyAttribute.cs
- RouteTable.cs
- ProjectionPruner.cs
- SQLDoubleStorage.cs
- ILGenerator.cs
- MultilineStringEditor.cs
- MachineKeySection.cs
- SocketPermission.cs
- ControllableStoryboardAction.cs
- TickBar.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- Bold.cs
- StreamBodyWriter.cs
- ExceptionUtil.cs
- ImageBrush.cs
- CompilerState.cs
- CodeStatementCollection.cs
- DataRowCollection.cs
- Debugger.cs
- SkinBuilder.cs
- AtomContentProperty.cs
- assemblycache.cs
- SubqueryRules.cs
- Misc.cs
- LinkConverter.cs
- NameNode.cs
- ConfigPathUtility.cs
- MemberInfoSerializationHolder.cs
- CheckPair.cs
- HTTPNotFoundHandler.cs
- LoginView.cs
- ActivityExecutorOperation.cs
- CodeAccessPermission.cs
- DynamicPhysicalDiscoSearcher.cs
- Compiler.cs
- DataColumnPropertyDescriptor.cs
- RpcAsyncResult.cs
- Conditional.cs