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
- EmptyQuery.cs
- StringArrayConverter.cs
- AlphabetConverter.cs
- CodeEntryPointMethod.cs
- SqlDataSourceCache.cs
- DefinitionUpdate.cs
- SelectionPatternIdentifiers.cs
- EntityException.cs
- CatalogPartCollection.cs
- Int32CAMarshaler.cs
- CommandID.cs
- RIPEMD160.cs
- AccessKeyManager.cs
- MobilePage.cs
- XmlSchemaCollection.cs
- OptimalTextSource.cs
- ByteAnimationUsingKeyFrames.cs
- QueryableDataSourceView.cs
- ViewManager.cs
- AbstractDataSvcMapFileLoader.cs
- TableLayoutPanelCellPosition.cs
- EntityModelBuildProvider.cs
- Models.cs
- BamlRecordReader.cs
- StatusBarPanel.cs
- FamilyCollection.cs
- InputLanguageCollection.cs
- ImageMapEventArgs.cs
- ProcessThread.cs
- CharConverter.cs
- DataGridViewCellCancelEventArgs.cs
- AssociationSetEnd.cs
- WorkflowMessageEventHandler.cs
- VirtualizingStackPanel.cs
- JavaScriptObjectDeserializer.cs
- PropertyStore.cs
- SpeechSeg.cs
- EntityViewGenerationAttribute.cs
- NextPreviousPagerField.cs
- SessionSwitchEventArgs.cs
- SslStream.cs
- ButtonStandardAdapter.cs
- AbandonedMutexException.cs
- PageAdapter.cs
- Bidi.cs
- Process.cs
- HyperLinkField.cs
- XmlCollation.cs
- NumberEdit.cs
- DataSourceXmlSubItemAttribute.cs
- ConfigurationStrings.cs
- CalendarDay.cs
- SafeTimerHandle.cs
- MenuRenderer.cs
- EventItfInfo.cs
- AssociationSet.cs
- Trace.cs
- InfoCardUIAgent.cs
- CryptoProvider.cs
- TemplateControlParser.cs
- PropertyDescriptorCollection.cs
- ValueSerializerAttribute.cs
- UserControlParser.cs
- Utilities.cs
- Model3DGroup.cs
- BindingMAnagerBase.cs
- HtmlTableCell.cs
- XamlTemplateSerializer.cs
- ContourSegment.cs
- WebPartRestoreVerb.cs
- AutomationEventArgs.cs
- SettingsContext.cs
- SafeTimerHandle.cs
- SiteMapProvider.cs
- CroppedBitmap.cs
- InfocardExtendedInformationCollection.cs
- DesignerTransactionCloseEvent.cs
- AsyncPostBackErrorEventArgs.cs
- BrowserCapabilitiesFactory.cs
- XmlSerializerSection.cs
- ResourceCategoryAttribute.cs
- PageEventArgs.cs
- CorrelationActionMessageFilter.cs
- WindowsListViewItem.cs
- Attachment.cs
- DefaultTextStore.cs
- XPathParser.cs
- DataPager.cs
- InvokeGenerator.cs
- XPathAxisIterator.cs
- TreeNodeStyleCollectionEditor.cs
- HotSpot.cs
- MSHTMLHostUtil.cs
- HttpHandlerAction.cs
- HtmlInputHidden.cs
- GrammarBuilderBase.cs
- MailHeaderInfo.cs
- KeyBinding.cs
- OutputCacheProfile.cs
- TextFindEngine.cs