Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / ProcessInputEventArgs.cs / 1 / 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
- TextEndOfSegment.cs
- HistoryEventArgs.cs
- DataSourceSelectArguments.cs
- WebPartManagerInternals.cs
- TypeUtil.cs
- CodeTypeDeclaration.cs
- Util.cs
- EncryptedReference.cs
- DbFunctionCommandTree.cs
- SqlMethodCallConverter.cs
- MetadataWorkspace.cs
- CFStream.cs
- DomNameTable.cs
- BrowserTree.cs
- brushes.cs
- XmlSchemaParticle.cs
- GPPOINTF.cs
- ZoneIdentityPermission.cs
- BasicViewGenerator.cs
- NodeLabelEditEvent.cs
- Random.cs
- SiteMapDataSourceDesigner.cs
- ProcessThreadCollection.cs
- SqlConnectionHelper.cs
- WebControlsSection.cs
- TraceListeners.cs
- XmlNode.cs
- HttpClientCertificate.cs
- TemplateBamlRecordReader.cs
- PanelDesigner.cs
- OutputScopeManager.cs
- LogRecordSequence.cs
- EntityViewGenerationAttribute.cs
- milexports.cs
- SocketConnection.cs
- BasicExpressionVisitor.cs
- MulticastOption.cs
- DesignUtil.cs
- QueryContinueDragEventArgs.cs
- CompilerScope.cs
- UIElementAutomationPeer.cs
- RuntimeUtils.cs
- ClickablePoint.cs
- RectangleF.cs
- FixedBufferAttribute.cs
- ChildrenQuery.cs
- ping.cs
- ProcessThreadCollection.cs
- SqlLiftIndependentRowExpressions.cs
- DelayedRegex.cs
- IpcServerChannel.cs
- AttributeCollection.cs
- TableDetailsRow.cs
- OdbcInfoMessageEvent.cs
- CorrelationTokenInvalidatedHandler.cs
- CqlGenerator.cs
- SoapInteropTypes.cs
- RegionIterator.cs
- HyperLink.cs
- ListBox.cs
- MemberProjectionIndex.cs
- SelectionService.cs
- BookmarkEventArgs.cs
- DataGridViewRowsAddedEventArgs.cs
- LinearGradientBrush.cs
- SqlProcedureAttribute.cs
- StoreContentChangedEventArgs.cs
- ContextDataSourceContextData.cs
- DataGridViewRowEventArgs.cs
- ConstraintCollection.cs
- ProxySimple.cs
- SizeConverter.cs
- ContextInformation.cs
- OutputChannel.cs
- FileSystemEventArgs.cs
- IsolatedStorageFile.cs
- CorrelationTokenInvalidatedHandler.cs
- RelOps.cs
- TerminateSequence.cs
- ListControlConvertEventArgs.cs
- NotSupportedException.cs
- EventLogPermissionEntryCollection.cs
- UniqueID.cs
- CacheForPrimitiveTypes.cs
- LogExtentCollection.cs
- HtmlTable.cs
- RenderData.cs
- LifetimeServices.cs
- VSDExceptions.cs
- XmlQueryType.cs
- InvariantComparer.cs
- ShapingWorkspace.cs
- XmlDocumentFieldSchema.cs
- ModuleBuilder.cs
- ResXBuildProvider.cs
- NumberFormatInfo.cs
- LabelAutomationPeer.cs
- Internal.cs
- HttpListenerResponse.cs
- ResourcePermissionBaseEntry.cs