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
- BuildResult.cs
- StreamGeometry.cs
- DeviceFiltersSection.cs
- GridSplitter.cs
- WebPartDeleteVerb.cs
- InputScopeConverter.cs
- PanelStyle.cs
- Label.cs
- XMLSyntaxException.cs
- Domain.cs
- DoubleUtil.cs
- Metadata.cs
- XmlEncoding.cs
- util.cs
- Util.cs
- VisualTreeUtils.cs
- PropertyChangedEventArgs.cs
- EventToken.cs
- XmlCharCheckingWriter.cs
- DataKeyPropertyAttribute.cs
- InputScopeAttribute.cs
- DynamicMethod.cs
- ManagementOptions.cs
- MiniCustomAttributeInfo.cs
- VariableAction.cs
- AspProxy.cs
- DateTimeFormat.cs
- SessionEndingEventArgs.cs
- FormClosedEvent.cs
- Perspective.cs
- XmlnsDictionary.cs
- BinaryOperationBinder.cs
- SectionRecord.cs
- KeyValueInternalCollection.cs
- ProxyFragment.cs
- BufferedStream2.cs
- SQLBinaryStorage.cs
- ExpressionEditorAttribute.cs
- AutomationIdentifier.cs
- ReverseInheritProperty.cs
- InputChannelAcceptor.cs
- DirectoryNotFoundException.cs
- InvokePatternIdentifiers.cs
- ProxyHwnd.cs
- WebPartTracker.cs
- NativeCppClassAttribute.cs
- PageEventArgs.cs
- FillRuleValidation.cs
- ProcessInfo.cs
- ResourceReferenceExpressionConverter.cs
- ScalarType.cs
- CollectionView.cs
- _SSPISessionCache.cs
- FeatureAttribute.cs
- ReachDocumentReferenceSerializer.cs
- InvariantComparer.cs
- GeneralTransform3DTo2DTo3D.cs
- SoapTypeAttribute.cs
- FamilyMap.cs
- XPathDocument.cs
- PrintPreviewDialog.cs
- XmlDataLoader.cs
- PrimaryKeyTypeConverter.cs
- ColumnReorderedEventArgs.cs
- SynchronizedInputHelper.cs
- Parser.cs
- ProxyGenerationError.cs
- FilteredSchemaElementLookUpTable.cs
- ArrangedElement.cs
- DataTrigger.cs
- ThrowHelper.cs
- FileSystemWatcher.cs
- WindowsIPAddress.cs
- GuidConverter.cs
- ReaderOutput.cs
- HttpPostedFile.cs
- wgx_render.cs
- PcmConverter.cs
- ColorConverter.cs
- SessionStateContainer.cs
- TableTextElementCollectionInternal.cs
- RtfControls.cs
- RulePatternOps.cs
- IERequestCache.cs
- ListSortDescription.cs
- CodeMemberMethod.cs
- Context.cs
- ExpanderAutomationPeer.cs
- MarshalDirectiveException.cs
- TransformerInfo.cs
- RequestStatusBarUpdateEventArgs.cs
- PowerStatus.cs
- ColumnCollection.cs
- UrlMapping.cs
- SHA384Managed.cs
- x509store.cs
- SerializationEventsCache.cs
- SmtpTransport.cs
- ScriptingJsonSerializationSection.cs
- RegistryPermission.cs