Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / InputReport.cs / 1 / InputReport.cs
using System; using System.Security; using System.Security.Permissions; using MS.Internal; using MS.Internal.PresentationCore; using MS.Win32; using System.Windows; namespace System.Windows.Input { ////// The InputReport is an abstract base class for all input that is /// reported to the InputManager. /// ////// It is important to note that the InputReport class only contains /// blittable types. This is required so that the report can be /// marshalled across application domains. /// [FriendAccessAllowed] internal abstract class InputReport { ////// Constructs ad instance of the InputReport class. /// /// /// The type of input that is being reported. /// /// /// The type of input that is being reported. /// /// /// The mode in which the input is being reported. /// /// /// The time when the input occured. /// ////// This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// [SecurityCritical, SecurityTreatAsSafe] protected InputReport(PresentationSource inputSource, InputType type, InputMode mode, int timestamp) { if (inputSource == null) throw new ArgumentNullException("inputSource"); Validate_InputType( type ); Validate_InputMode( mode ); _inputSource= new SecurityCriticalData(inputSource); _type = type; _mode = mode; _timestamp = timestamp; } /// /// Read-only access to the type of input source that reported input. /// ////// Critical: This element is treated as critical and is not ok to expose. /// A link demand exists but that in itself is not adequate to safeguard this. /// The critical exists to expose users. /// public PresentationSource InputSource { [SecurityCritical] get { return _inputSource.Value; } } ////// Read-only access to the type of input that was reported. /// public InputType Type {get {return _type;}} ////// Read-only access to the mode in which the input was reported. /// public InputMode Mode {get {return _mode;}} ////// Read-only access to the time when the input occured. /// public int Timestamp {get {return _timestamp;}} ////// There is a proscription against using Enum.IsDefined(). (it is slow) /// so we write these PRIVATE validate routines instead. /// private void Validate_InputMode( InputMode mode ) { switch( mode ) { case InputMode.Foreground: case InputMode.Sink: break; default: throw new System.ComponentModel.InvalidEnumArgumentException("mode", (int)mode, typeof(InputMode)); } } ////// There is a proscription against using Enum.IsDefined(). (it is slow) /// so we write these PRIVATE validate routines instead. /// private void Validate_InputType( InputType type ) { switch( type ) { case InputType.Keyboard: case InputType.Mouse: case InputType.Stylus: case InputType.Hid: case InputType.Text: case InputType.Command: break; default: throw new System.ComponentModel.InvalidEnumArgumentException("type", (int)type, typeof(InputType)); } } private SecurityCriticalData_inputSource; private InputType _type; private InputMode _mode; private int _timestamp; } } // 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
- SoapAttributes.cs
- GridViewCellAutomationPeer.cs
- CounterCreationData.cs
- InkPresenter.cs
- SyndicationPerson.cs
- LinqDataSourceContextEventArgs.cs
- RoutedPropertyChangedEventArgs.cs
- _ProxyChain.cs
- Camera.cs
- WebPartActionVerb.cs
- Listbox.cs
- GridViewUpdateEventArgs.cs
- SchemaElementLookUpTable.cs
- ManagedFilter.cs
- HttpContextServiceHost.cs
- UidManager.cs
- CheckBox.cs
- ConfigurationPropertyAttribute.cs
- GlyphRunDrawing.cs
- OpenTypeCommon.cs
- SqlCacheDependencySection.cs
- GraphicsContainer.cs
- BamlLocalizationDictionary.cs
- NavigatingCancelEventArgs.cs
- ContextProperty.cs
- IsolationInterop.cs
- ImageListStreamer.cs
- DataMisalignedException.cs
- DataBindingHandlerAttribute.cs
- AlphabetConverter.cs
- DataGridViewRowHeaderCell.cs
- TypeUtils.cs
- AsymmetricKeyExchangeFormatter.cs
- SQLBinary.cs
- PermissionSetTriple.cs
- PointAnimationClockResource.cs
- ProfilePropertySettingsCollection.cs
- UdpConstants.cs
- QilInvokeLateBound.cs
- DrawingImage.cs
- LinqDataSourceView.cs
- ClientScriptManager.cs
- SerialPort.cs
- SoapIncludeAttribute.cs
- Point.cs
- WorkflowCommandExtensionItem.cs
- TdsEnums.cs
- LinkArea.cs
- BufferBuilder.cs
- webbrowsersite.cs
- SqlFunctions.cs
- SymLanguageVendor.cs
- CoreChannel.cs
- Utilities.cs
- PeerCollaborationPermission.cs
- WindowsGrip.cs
- SystemTcpConnection.cs
- ColumnMapProcessor.cs
- TreeNodeMouseHoverEvent.cs
- PathFigure.cs
- SqlBuffer.cs
- LinqDataSourceHelper.cs
- KnownIds.cs
- SplineKeyFrames.cs
- login.cs
- DateTimeStorage.cs
- BinaryFormatter.cs
- GC.cs
- DataServiceQuery.cs
- XmlAnyElementAttributes.cs
- RenderCapability.cs
- GenericTypeParameterBuilder.cs
- ClassHandlersStore.cs
- TypeUtils.cs
- TriggerActionCollection.cs
- SubclassTypeValidator.cs
- StringDictionary.cs
- Site.cs
- CompositionAdorner.cs
- DXD.cs
- GcSettings.cs
- OutputCacheProfile.cs
- DataGridViewDataErrorEventArgs.cs
- ConditionalAttribute.cs
- ComponentConverter.cs
- HighContrastHelper.cs
- ObjectQuery_EntitySqlExtensions.cs
- GenericTextProperties.cs
- Pkcs7Recipient.cs
- ArrayHelper.cs
- PresentationAppDomainManager.cs
- ContractMapping.cs
- AdapterUtil.cs
- HtmlDocument.cs
- PeerPresenceInfo.cs
- TypeConverterMarkupExtension.cs
- ValueChangedEventManager.cs
- PagerSettings.cs
- ContextProperty.cs
- HtmlContainerControl.cs