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
- PropertiesTab.cs
- DataGridTextBoxColumn.cs
- SlotInfo.cs
- DbBuffer.cs
- PopupRootAutomationPeer.cs
- VersionedStreamOwner.cs
- ServiceOperationParameter.cs
- TextPointerBase.cs
- WebPartAddingEventArgs.cs
- TypeExtension.cs
- SoapProcessingBehavior.cs
- HandleExceptionArgs.cs
- DNS.cs
- Pen.cs
- UriParserTemplates.cs
- GradientStop.cs
- EventLogPermissionEntry.cs
- CredentialSelector.cs
- EmbossBitmapEffect.cs
- MetadataArtifactLoaderResource.cs
- Nodes.cs
- WebBrowserContainer.cs
- QuotedPrintableStream.cs
- Semaphore.cs
- AbstractSvcMapFileLoader.cs
- _ChunkParse.cs
- BorderGapMaskConverter.cs
- CustomExpressionEventArgs.cs
- CompressedStack.cs
- PolyBezierSegmentFigureLogic.cs
- DataGridBoolColumn.cs
- ExpressionStringBuilder.cs
- EdmType.cs
- DataKey.cs
- SqlHelper.cs
- CompiledAction.cs
- ViewValidator.cs
- Rectangle.cs
- FilteredAttributeCollection.cs
- DefaultObjectMappingItemCollection.cs
- ToolStripLocationCancelEventArgs.cs
- EntityException.cs
- EventProvider.cs
- ClientFormsIdentity.cs
- ExeConfigurationFileMap.cs
- ImageSource.cs
- Compilation.cs
- WebPartConnectionsCancelEventArgs.cs
- FixUp.cs
- DocumentReference.cs
- SkewTransform.cs
- ImageField.cs
- ContentElement.cs
- HtmlInputCheckBox.cs
- SerializationStore.cs
- ButtonBase.cs
- PolicyFactory.cs
- HtmlHistory.cs
- PrimitiveXmlSerializers.cs
- CommandConverter.cs
- ElementsClipboardData.cs
- RichTextBox.cs
- FrameworkContentElement.cs
- StringArrayConverter.cs
- Span.cs
- SiblingIterators.cs
- UserNameSecurityToken.cs
- FormViewModeEventArgs.cs
- ProxyWebPartManager.cs
- BaseResourcesBuildProvider.cs
- UserPreferenceChangedEventArgs.cs
- RuntimeArgumentHandle.cs
- SequentialUshortCollection.cs
- SectionUpdates.cs
- BitmapEffectInput.cs
- DefaultBindingPropertyAttribute.cs
- ListenerElementsCollection.cs
- DataServiceStreamProviderWrapper.cs
- DataPagerFieldCollection.cs
- DragEventArgs.cs
- DataListItem.cs
- ContextMenuStrip.cs
- COAUTHIDENTITY.cs
- KeyedCollection.cs
- UnmanagedMemoryStreamWrapper.cs
- SearchForVirtualItemEventArgs.cs
- CopyNamespacesAction.cs
- StateDesigner.Layouts.cs
- DirtyTextRange.cs
- KoreanCalendar.cs
- XmlChildNodes.cs
- WindowPattern.cs
- DataError.cs
- DataExpression.cs
- TextSimpleMarkerProperties.cs
- MenuBindingsEditorForm.cs
- RenderingBiasValidation.cs
- _TransmitFileOverlappedAsyncResult.cs
- SettingsPropertyNotFoundException.cs
- SerializationAttributes.cs