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
- SetStoryboardSpeedRatio.cs
- SqlNodeTypeOperators.cs
- GridItem.cs
- PageTheme.cs
- Debug.cs
- StrokeCollectionDefaultValueFactory.cs
- DateTimeFormat.cs
- BaseParser.cs
- MetadataPropertyAttribute.cs
- DetailsViewRow.cs
- GlobalProxySelection.cs
- XmlNamespaceMappingCollection.cs
- IntSumAggregationOperator.cs
- OutOfProcStateClientManager.cs
- GcSettings.cs
- shaperfactory.cs
- BindingList.cs
- HtmlValidationSummaryAdapter.cs
- EdmMember.cs
- BufferedMessageData.cs
- TypeConverters.cs
- TextParentUndoUnit.cs
- SchemaSetCompiler.cs
- DataBoundControlAdapter.cs
- WindowsScrollBarBits.cs
- MembershipUser.cs
- SafeNativeMethodsOther.cs
- RequestBringIntoViewEventArgs.cs
- TextTreePropertyUndoUnit.cs
- TypeCacheManager.cs
- ChildDocumentBlock.cs
- InteropAutomationProvider.cs
- webbrowsersite.cs
- TransformationRules.cs
- SQLSingle.cs
- WorkflowApplicationAbortedEventArgs.cs
- FocusManager.cs
- ConfigXmlSignificantWhitespace.cs
- SourceFileBuildProvider.cs
- WhitespaceReader.cs
- ClientConvert.cs
- UdpDiscoveryEndpoint.cs
- ListCollectionView.cs
- QilGenerator.cs
- IxmlLineInfo.cs
- ClientViaElement.cs
- Deserializer.cs
- SvcMapFileSerializer.cs
- SeparatorAutomationPeer.cs
- SettingsPropertyIsReadOnlyException.cs
- XmlAtomicValue.cs
- PackageDigitalSignatureManager.cs
- StretchValidation.cs
- LocalsItemDescription.cs
- ToolStripManager.cs
- SessionParameter.cs
- OverrideMode.cs
- CompressEmulationStream.cs
- MenuAdapter.cs
- UnionCodeGroup.cs
- XsltOutput.cs
- WebScriptEnablingElement.cs
- SHA256.cs
- HttpPostedFile.cs
- DependencyPropertyKey.cs
- XmlAttribute.cs
- DeploymentSectionCache.cs
- MainMenu.cs
- SHA1Managed.cs
- ShellProvider.cs
- TreeViewEvent.cs
- WeakHashtable.cs
- ImmComposition.cs
- SendOperation.cs
- Transform3DGroup.cs
- DnsElement.cs
- TextTreeInsertUndoUnit.cs
- NullableConverter.cs
- Crc32Helper.cs
- UserInitiatedNavigationPermission.cs
- HitTestDrawingContextWalker.cs
- ScrollChrome.cs
- Metadata.cs
- ListItemDetailViewAttribute.cs
- WorkflowServiceNamespace.cs
- PrintControllerWithStatusDialog.cs
- RefreshResponseInfo.cs
- MetadataCollection.cs
- CommandValueSerializer.cs
- RowType.cs
- XsdBuilder.cs
- LogArchiveSnapshot.cs
- SqlGatherProducedAliases.cs
- EntityDataSourceQueryBuilder.cs
- SendKeys.cs
- Codec.cs
- ReturnType.cs
- EdmRelationshipRoleAttribute.cs
- TreePrinter.cs
- ReverseInheritProperty.cs