Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / ProcessInputEventArgs.cs / 1 / ProcessInputEventArgs.cs
using System; using System.Security.Permissions; using System.Security; using MS.Internal; using MS.Internal.PresentationCore; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Input { ////// Provides access to the input manager's staging area. /// ////// An instance of this class, or a derived class, is passed to the /// handlers of the following events: /// public class ProcessInputEventArgs : NotifyInputEventArgs { // Only we can make these. Note that we cache and resuse instances. internal ProcessInputEventArgs() {} //////
///- ///
////// - ///
////// /// Critical - calls a critical method base.Reset /// [SecurityCritical] internal override void Reset(StagingAreaInputItem input, InputManager inputManager) { _allowAccessToStagingArea = true; base.Reset(input, inputManager); } ////// Pushes an input event onto the top of the staging area. /// /// /// The input event to place on the staging area. This may not /// be null, and may not already exist in the staging area. /// /// /// An existing staging area item to promote the state from. /// ////// The staging area input item that wraps the specified input. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Critical - calls a critical method ( PushInput) /// PublicOK - there is a link demand for public callers. /// [SecurityCritical ] [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public StagingAreaInputItem PushInput(InputEventArgs input, StagingAreaInputItem promote) // Note: this should be a bool, and always use the InputItem available on these args. { if(!_allowAccessToStagingArea) { throw new InvalidOperationException(SR.Get(SRID.NotAllowedToAccessStagingArea)); } return this.UnsecureInputManager.PushInput(input, promote); } ////// Pushes an input event onto the top of the staging area. /// /// /// The input event to place on the staging area. This may not /// be null, and may not already exist in the staging area. /// ////// The specified staging area input item. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Critical - calls a critical method ( PushInput) /// PublicOK - there is a link demand for public callers. /// [SecurityCritical] [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public StagingAreaInputItem PushInput(StagingAreaInputItem input) { if(!_allowAccessToStagingArea) { throw new InvalidOperationException(SR.Get(SRID.NotAllowedToAccessStagingArea)); } return this.UnsecureInputManager.PushInput(input); } ////// Pops off the input event on the top of the staging area. /// ////// The input event that was on the top of the staging area. /// This can be null, if the staging area was empty. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Critical - calls a critical function ( InputManager.PopInput) /// PublicOK - there is a demand. /// [SecurityCritical] public StagingAreaInputItem PopInput() { SecurityHelper.DemandUnrestrictedUIPermission(); if(!_allowAccessToStagingArea) { throw new InvalidOperationException(SR.Get(SRID.NotAllowedToAccessStagingArea)); } return this.UnsecureInputManager.PopInput(); } ////// Returns the input event on the top of the staging area. /// ////// The input event that is on the top of the staging area. /// This can be null, if the staging area is empty. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Critical - accesses UnsecureInputManager /// PublicOK - there is a demand. /// [SecurityCritical] public StagingAreaInputItem PeekInput() { SecurityHelper.DemandUnrestrictedUIPermission(); if(!_allowAccessToStagingArea) { throw new InvalidOperationException(SR.Get(SRID.NotAllowedToAccessStagingArea)); } return this.UnsecureInputManager.PeekInput(); } private bool _allowAccessToStagingArea; } ////// Delegate type for handles of events that use /// public delegate void ProcessInputEventHandler(object sender, ProcessInputEventArgs e); } // 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
- ClientConfigurationSystem.cs
- CompressEmulationStream.cs
- GrammarBuilderWildcard.cs
- UpdateTranslator.cs
- CachedFontFace.cs
- PointConverter.cs
- SupportingTokenProviderSpecification.cs
- MemberDescriptor.cs
- ContentPlaceHolder.cs
- WebPartConnectionsCancelVerb.cs
- CommandHelpers.cs
- DesignerVerbCollection.cs
- ScrollBar.cs
- SpotLight.cs
- GenericIdentity.cs
- ReadOnlyCollectionBase.cs
- WizardForm.cs
- TryCatchDesigner.xaml.cs
- SlipBehavior.cs
- DispatcherObject.cs
- ListBindingConverter.cs
- Point3DConverter.cs
- DataContract.cs
- Codec.cs
- HttpModuleCollection.cs
- X509Extension.cs
- ProviderSettingsCollection.cs
- Axis.cs
- ResourceReferenceKeyNotFoundException.cs
- AutomationElementIdentifiers.cs
- RuleSettingsCollection.cs
- RelatedEnd.cs
- ContextMarshalException.cs
- VoiceChangeEventArgs.cs
- MetadataItemSerializer.cs
- UTF8Encoding.cs
- StringExpressionSet.cs
- LogSwitch.cs
- DataFormats.cs
- Propagator.ExtentPlaceholderCreator.cs
- SchemaAttDef.cs
- NullRuntimeConfig.cs
- _ConnectOverlappedAsyncResult.cs
- ExpressionEditorSheet.cs
- FramingFormat.cs
- SpStreamWrapper.cs
- SecurityPolicySection.cs
- MessageQueueKey.cs
- BackgroundWorker.cs
- TargetParameterCountException.cs
- SoapHeaders.cs
- LogLogRecord.cs
- ActivityExecutionFilter.cs
- HttpCacheVary.cs
- ComplexBindingPropertiesAttribute.cs
- WebResponse.cs
- SHA1Managed.cs
- Pair.cs
- UserValidatedEventArgs.cs
- XmlLoader.cs
- FontNamesConverter.cs
- PriorityQueue.cs
- GraphicsContainer.cs
- FirstMatchCodeGroup.cs
- StatusBarDrawItemEvent.cs
- Page.cs
- StringFunctions.cs
- HtmlElementCollection.cs
- WCFServiceClientProxyGenerator.cs
- Model3D.cs
- HiddenFieldPageStatePersister.cs
- CustomAttribute.cs
- TemplateXamlTreeBuilder.cs
- EventMappingSettings.cs
- CardSpaceSelector.cs
- WebReferencesBuildProvider.cs
- CharConverter.cs
- LambdaCompiler.Expressions.cs
- ValidatorCollection.cs
- DataMisalignedException.cs
- XsdBuilder.cs
- SynchronizedCollection.cs
- EmptyQuery.cs
- SlipBehavior.cs
- CheckPair.cs
- DynamicControl.cs
- ValuePattern.cs
- Policy.cs
- Registry.cs
- AssemblyAttributes.cs
- Rights.cs
- Light.cs
- _HeaderInfo.cs
- CorePropertiesFilter.cs
- LogManagementAsyncResult.cs
- ProxyElement.cs
- GenericRootAutomationPeer.cs
- EventPrivateKey.cs
- Crc32Helper.cs
- WebPartAuthorizationEventArgs.cs