Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / ProcessInputEventArgs.cs / 1305600 / 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
- CodePageUtils.cs
- MonthChangedEventArgs.cs
- SendMessageChannelCache.cs
- ProfileGroupSettings.cs
- EdmSchemaError.cs
- BamlLocalizableResourceKey.cs
- PageCodeDomTreeGenerator.cs
- ContentControl.cs
- CalculatedColumn.cs
- HtmlInputPassword.cs
- TextContainerHelper.cs
- InstanceLockQueryResult.cs
- EdmRelationshipRoleAttribute.cs
- IDispatchConstantAttribute.cs
- WebPartConnectionCollection.cs
- AdPostCacheSubstitution.cs
- DataAdapter.cs
- AttributeAction.cs
- AnimationLayer.cs
- EdgeModeValidation.cs
- HwndSourceParameters.cs
- WebPartMinimizeVerb.cs
- LayoutTableCell.cs
- ListMarkerSourceInfo.cs
- SuppressMergeCheckAttribute.cs
- InternalBufferOverflowException.cs
- DataGridCellsPanel.cs
- DataGridViewBindingCompleteEventArgs.cs
- ListMarkerSourceInfo.cs
- TextUtf8RawTextWriter.cs
- ExtenderProvidedPropertyAttribute.cs
- CoreSwitches.cs
- URLString.cs
- SqlDependencyUtils.cs
- IPipelineRuntime.cs
- ReflectPropertyDescriptor.cs
- NamespaceTable.cs
- HuffmanTree.cs
- WindowsUserNameCachingSecurityTokenAuthenticator.cs
- InputLanguageProfileNotifySink.cs
- TextEndOfParagraph.cs
- TypographyProperties.cs
- CodeDomExtensionMethods.cs
- LocalizationComments.cs
- FixedElement.cs
- ImportContext.cs
- UInt16Converter.cs
- DoubleAnimation.cs
- ProfileServiceManager.cs
- AlphabetConverter.cs
- OleDbMetaDataFactory.cs
- EmptyReadOnlyDictionaryInternal.cs
- SqlRewriteScalarSubqueries.cs
- GradientStop.cs
- XappLauncher.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- JsonXmlDataContract.cs
- FrameworkObject.cs
- NameSpaceEvent.cs
- XmlStreamedByteStreamReader.cs
- HeaderedItemsControl.cs
- ScriptResourceInfo.cs
- MimeTypePropertyAttribute.cs
- ContextStaticAttribute.cs
- WindowsScroll.cs
- CompilerInfo.cs
- XmlDataSourceView.cs
- InvokeGenerator.cs
- HttpHandlerAction.cs
- ColorMap.cs
- DbDataAdapter.cs
- GetPageNumberCompletedEventArgs.cs
- ListDataBindEventArgs.cs
- SurrogateEncoder.cs
- InvalidFilterCriteriaException.cs
- BrowserCapabilitiesFactoryBase.cs
- BypassElementCollection.cs
- ContainerAction.cs
- DetailsView.cs
- PrintingPermissionAttribute.cs
- EventLog.cs
- TimelineCollection.cs
- TypedDatasetGenerator.cs
- IResourceProvider.cs
- CombinedGeometry.cs
- DispatcherHooks.cs
- ReadOnlyObservableCollection.cs
- OledbConnectionStringbuilder.cs
- ServiceParser.cs
- WebPartsPersonalization.cs
- ListChangedEventArgs.cs
- SharedDp.cs
- GeometryValueSerializer.cs
- sqlstateclientmanager.cs
- SQLGuid.cs
- PartBasedPackageProperties.cs
- SubstitutionDesigner.cs
- MonthCalendar.cs
- DataServiceEntityAttribute.cs
- BitmapEffectGroup.cs