Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / 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.
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
- SortDescriptionCollection.cs
- ConfigurationValue.cs
- PropertyEmitterBase.cs
- Activity.cs
- Rules.cs
- counter.cs
- ConditionalWeakTable.cs
- Stylus.cs
- odbcmetadatafactory.cs
- MembershipPasswordException.cs
- X509CertificateValidator.cs
- EventManager.cs
- CDSsyncETWBCLProvider.cs
- _TransmitFileOverlappedAsyncResult.cs
- PointCollection.cs
- DbParameterHelper.cs
- XamlTreeBuilder.cs
- NamedPermissionSet.cs
- ConstraintCollection.cs
- DispatcherHookEventArgs.cs
- TextCompositionManager.cs
- SByteConverter.cs
- TreeNodeStyle.cs
- basenumberconverter.cs
- DynamicDataRoute.cs
- ValueTypeFieldReference.cs
- RoleManagerModule.cs
- TransformedBitmap.cs
- IDispatchConstantAttribute.cs
- WebPartZoneCollection.cs
- ToolStripContentPanel.cs
- CheckBoxAutomationPeer.cs
- XamlLoadErrorInfo.cs
- UnSafeCharBuffer.cs
- SqlCaseSimplifier.cs
- PackageDigitalSignatureManager.cs
- ReservationCollection.cs
- WebEventCodes.cs
- HttpRequest.cs
- FileVersionInfo.cs
- PrimitiveXmlSerializers.cs
- OciLobLocator.cs
- CharEnumerator.cs
- TextRangeSerialization.cs
- DataControlField.cs
- FtpRequestCacheValidator.cs
- XmlSignificantWhitespace.cs
- AmbiguousMatchException.cs
- ErrorInfoXmlDocument.cs
- PolyLineSegment.cs
- TextElementCollection.cs
- GcSettings.cs
- UnhandledExceptionEventArgs.cs
- KeySplineConverter.cs
- Frame.cs
- SendMessageRecord.cs
- LambdaCompiler.Unary.cs
- NonSerializedAttribute.cs
- ListViewDeleteEventArgs.cs
- WindowCollection.cs
- DrawTreeNodeEventArgs.cs
- ResourcePermissionBase.cs
- GradientBrush.cs
- XamlWriter.cs
- SortKey.cs
- TextEditor.cs
- Base64Decoder.cs
- TypeExtensionConverter.cs
- SafeReadContext.cs
- InputQueue.cs
- DesignerTransactionCloseEvent.cs
- DbMetaDataCollectionNames.cs
- ManualResetEvent.cs
- sqlstateclientmanager.cs
- NoneExcludedImageIndexConverter.cs
- JoinGraph.cs
- TrackingStringDictionary.cs
- WebConfigurationFileMap.cs
- DbTransaction.cs
- _ConnectStream.cs
- CodeParameterDeclarationExpression.cs
- ByeMessageCD1.cs
- FunctionNode.cs
- DiscoveryClientOutputChannel.cs
- DocumentGridContextMenu.cs
- XmlCharacterData.cs
- Subtree.cs
- UrlAuthorizationModule.cs
- GlyphShapingProperties.cs
- CompressStream.cs
- Int16Storage.cs
- SequentialOutput.cs
- InfiniteIntConverter.cs
- DataSet.cs
- AsymmetricSignatureFormatter.cs
- EntityWrapper.cs
- InvalidDocumentContentsException.cs
- RequestResizeEvent.cs
- HttpWriter.cs
- ResourceExpressionBuilder.cs