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
- TextViewSelectionProcessor.cs
- SQLDoubleStorage.cs
- WindowsFormsSectionHandler.cs
- DXD.cs
- ShutDownListener.cs
- CreateParams.cs
- SingleObjectCollection.cs
- CompositeActivityCodeGenerator.cs
- propertyentry.cs
- ProjectionAnalyzer.cs
- Exceptions.cs
- PhoneCall.cs
- SqlPersonalizationProvider.cs
- SoapAttributeAttribute.cs
- TemplateControlParser.cs
- CompoundFileIOPermission.cs
- WindowsListViewSubItem.cs
- TextFormatterImp.cs
- XMLSchema.cs
- SchemaCreator.cs
- PromptStyle.cs
- SoapProcessingBehavior.cs
- HttpListenerContext.cs
- CDSsyncETWBCLProvider.cs
- WebConfigurationHostFileChange.cs
- ETagAttribute.cs
- SplineQuaternionKeyFrame.cs
- SqlStatistics.cs
- PolyLineSegmentFigureLogic.cs
- SafeSecurityHandles.cs
- HttpCacheVaryByContentEncodings.cs
- TextRangeSerialization.cs
- InputChannelBinder.cs
- DynamicPhysicalDiscoSearcher.cs
- ValidatingCollection.cs
- DummyDataSource.cs
- FormViewInsertEventArgs.cs
- XamlLoadErrorInfo.cs
- SoapFault.cs
- LoadItemsEventArgs.cs
- CookieProtection.cs
- Point3D.cs
- ObjectNotFoundException.cs
- HeaderCollection.cs
- ButtonPopupAdapter.cs
- Point3D.cs
- SapiRecoContext.cs
- ReaderWriterLock.cs
- SortAction.cs
- UnicastIPAddressInformationCollection.cs
- NetworkInformationPermission.cs
- BasicExpandProvider.cs
- ObjectManager.cs
- DesignerVerb.cs
- SamlAuthorityBinding.cs
- WmfPlaceableFileHeader.cs
- CompiledAction.cs
- ReaderWriterLock.cs
- InstanceLockTracking.cs
- WSIdentityFaultException.cs
- WebPartVerbCollection.cs
- WindowsEditBoxRange.cs
- PageRequestManager.cs
- DbSetClause.cs
- MediaPlayerState.cs
- XmlEventCache.cs
- PropertyIDSet.cs
- HttpRequestWrapper.cs
- SafeCryptoHandles.cs
- WebPartCatalogCloseVerb.cs
- OptimalBreakSession.cs
- WebRequestModuleElementCollection.cs
- ByteAnimation.cs
- ErrorCodes.cs
- Soap.cs
- SymLanguageType.cs
- InternalConfigRoot.cs
- WMIGenerator.cs
- DataBoundLiteralControl.cs
- FontUnitConverter.cs
- ChangeConflicts.cs
- OdbcHandle.cs
- coordinatorscratchpad.cs
- Version.cs
- WebPartManager.cs
- SimpleBitVector32.cs
- WinEventQueueItem.cs
- SimpleFieldTemplateFactory.cs
- BinaryOperationBinder.cs
- ToolZone.cs
- CommandBindingCollection.cs
- FieldMetadata.cs
- ProfileBuildProvider.cs
- ProxySimple.cs
- EmbeddedObject.cs
- SubqueryRules.cs
- CodeDomConfigurationHandler.cs
- AssemblyBuilderData.cs
- SuppressMessageAttribute.cs
- TimeSpan.cs