Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Shared / MS / Win32 / SafeSystemMetrics.cs / 1 / SafeSystemMetrics.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2004 // // File: SafeSystemMetrics.cs // This class is copied from the system metrics class in frameworks. The // reason it exists is to consolidate all system metric calls through one layer // so that maintenance from a security stand point gets easier. We will add // mertrics on a need basis. The caching code is removed since the original calls // that were moved here do not rely on caching. If there is a percieved perf. problem // we can work on enabling this. //----------------------------------------------------------------------------- using System; using System.Collections; using System.Runtime.InteropServices; using System.Windows.Media; using Microsoft.Win32; using System.Security; using System.Security.Permissions; using MS.Win32; using MS.Internal; using MS.Internal.PresentationCore; namespace MS.Win32 { ////// Contains properties that are queries into the system's various settings. /// [FriendAccessAllowed] // Built into Core, also used by Framework. internal sealed class SafeSystemMetrics { private SafeSystemMetrics() { } #if !PRESENTATION_CORE ////// Maps to SM_CXVIRTUALSCREEN /// ////// TreatAsSafe --There exists a demand /// Security Critical -- Calling UnsafeNativeMethods /// internal static int VirtualScreenWidth { [SecurityCritical,SecurityTreatAsSafe] get { SecurityHelper.DemandUnmanagedCode(); return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CXVIRTUALSCREEN); } } ////// Maps to SM_CYVIRTUALSCREEN /// ////// TreatAsSafe --There exists a demand /// Security Critical -- Calling UnsafeNativeMethods /// internal static int VirtualScreenHeight { [SecurityCritical,SecurityTreatAsSafe] get { SecurityHelper.DemandUnmanagedCode(); return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CYVIRTUALSCREEN); } } #endif //end !PRESENTATIONCORE ////// Maps to SM_CXDOUBLECLK /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DoubleClickDeltaX { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CXDOUBLECLK); } } ////// Maps to SM_CYDOUBLECLK /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DoubleClickDeltaY { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CYDOUBLECLK); } } ////// Maps to SM_CXDRAG /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DragDeltaX { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CXDRAG); } } ////// Maps to SM_CYDRAG /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DragDeltaY { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CYDRAG); } } ////// Is an IMM enabled ? Maps to SM_IMMENABLED /// //////Critical - calls a method that performs an elevation. /// TreatAsSafe - data is considered safe to expose. /// internal static bool IsImmEnabled { [SecurityCritical, SecurityTreatAsSafe] get { return (UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_IMMENABLED) != 0); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2004 // // File: SafeSystemMetrics.cs // This class is copied from the system metrics class in frameworks. The // reason it exists is to consolidate all system metric calls through one layer // so that maintenance from a security stand point gets easier. We will add // mertrics on a need basis. The caching code is removed since the original calls // that were moved here do not rely on caching. If there is a percieved perf. problem // we can work on enabling this. //----------------------------------------------------------------------------- using System; using System.Collections; using System.Runtime.InteropServices; using System.Windows.Media; using Microsoft.Win32; using System.Security; using System.Security.Permissions; using MS.Win32; using MS.Internal; using MS.Internal.PresentationCore; namespace MS.Win32 { ////// Contains properties that are queries into the system's various settings. /// [FriendAccessAllowed] // Built into Core, also used by Framework. internal sealed class SafeSystemMetrics { private SafeSystemMetrics() { } #if !PRESENTATION_CORE ////// Maps to SM_CXVIRTUALSCREEN /// ////// TreatAsSafe --There exists a demand /// Security Critical -- Calling UnsafeNativeMethods /// internal static int VirtualScreenWidth { [SecurityCritical,SecurityTreatAsSafe] get { SecurityHelper.DemandUnmanagedCode(); return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CXVIRTUALSCREEN); } } ////// Maps to SM_CYVIRTUALSCREEN /// ////// TreatAsSafe --There exists a demand /// Security Critical -- Calling UnsafeNativeMethods /// internal static int VirtualScreenHeight { [SecurityCritical,SecurityTreatAsSafe] get { SecurityHelper.DemandUnmanagedCode(); return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CYVIRTUALSCREEN); } } #endif //end !PRESENTATIONCORE ////// Maps to SM_CXDOUBLECLK /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DoubleClickDeltaX { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CXDOUBLECLK); } } ////// Maps to SM_CYDOUBLECLK /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DoubleClickDeltaY { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CYDOUBLECLK); } } ////// Maps to SM_CXDRAG /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DragDeltaX { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CXDRAG); } } ////// Maps to SM_CYDRAG /// ////// TreatAsSafe --This data is safe to expose /// Security Critical -- Calling UnsafeNativeMethods /// internal static int DragDeltaY { [SecurityCritical, SecurityTreatAsSafe] get { return UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_CYDRAG); } } ////// Is an IMM enabled ? Maps to SM_IMMENABLED /// //////Critical - calls a method that performs an elevation. /// TreatAsSafe - data is considered safe to expose. /// internal static bool IsImmEnabled { [SecurityCritical, SecurityTreatAsSafe] get { return (UnsafeNativeMethods.GetSystemMetrics(NativeMethods.SM_IMMENABLED) != 0); } } } } // 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
- OleDbPropertySetGuid.cs
- mda.cs
- EmptyControlCollection.cs
- ChannelDemuxer.cs
- MetafileHeaderWmf.cs
- SlipBehavior.cs
- AssemblyBuilder.cs
- RouteParametersHelper.cs
- Variant.cs
- FontUnit.cs
- DtrList.cs
- EdmComplexPropertyAttribute.cs
- Dump.cs
- KnownIds.cs
- StateChangeEvent.cs
- XhtmlTextWriter.cs
- SByteConverter.cs
- NetworkInterface.cs
- RegexRunner.cs
- DataGridViewElement.cs
- RectangleHotSpot.cs
- ResXResourceWriter.cs
- XmlCharacterData.cs
- BindingOperations.cs
- ParameterBuilder.cs
- SafeFileMappingHandle.cs
- JsonFormatReaderGenerator.cs
- ExceptionHelpers.cs
- CodeObject.cs
- MarkupObject.cs
- ProjectionCamera.cs
- ValueQuery.cs
- FragmentQueryProcessor.cs
- XComponentModel.cs
- ToolBarPanel.cs
- PathStreamGeometryContext.cs
- DataGridViewCellFormattingEventArgs.cs
- XmlDataFileEditor.cs
- WebPartZoneBase.cs
- TextFormattingConverter.cs
- DataGridViewCellParsingEventArgs.cs
- XmlCharacterData.cs
- TypeReference.cs
- TextParaClient.cs
- MessageAction.cs
- TypeReference.cs
- SynchronizationLockException.cs
- Inflater.cs
- JpegBitmapDecoder.cs
- NetCodeGroup.cs
- ConstantCheck.cs
- Exceptions.cs
- AlphaSortedEnumConverter.cs
- AsyncOperationContext.cs
- NetworkStream.cs
- GregorianCalendar.cs
- PrintPageEvent.cs
- DataBindingExpressionBuilder.cs
- SourceElementsCollection.cs
- MgmtResManager.cs
- ManagementOperationWatcher.cs
- ReadWriteControlDesigner.cs
- Bitmap.cs
- NamedElement.cs
- Mapping.cs
- OpCodes.cs
- ErrorView.xaml.cs
- LoginUtil.cs
- CultureMapper.cs
- Geometry3D.cs
- WebColorConverter.cs
- DelayedRegex.cs
- InternalConfigHost.cs
- MenuItemBinding.cs
- NeutralResourcesLanguageAttribute.cs
- CompilerCollection.cs
- FormViewUpdateEventArgs.cs
- XmlSchemaValidator.cs
- RequiredAttributeAttribute.cs
- TableLayoutStyle.cs
- HyperLinkColumn.cs
- RegisteredScript.cs
- ColumnMapTranslator.cs
- CodeDOMProvider.cs
- TextInfo.cs
- XmlSchemaDocumentation.cs
- TextCollapsingProperties.cs
- OleServicesContext.cs
- odbcmetadatacollectionnames.cs
- UICuesEvent.cs
- MobileContainerDesigner.cs
- TextFormatterImp.cs
- MsmqChannelFactory.cs
- DispatchChannelSink.cs
- PixelShader.cs
- FillErrorEventArgs.cs
- GeometryCollection.cs
- ConnectionPoolManager.cs
- XPathItem.cs
- SpecialTypeDataContract.cs