Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / SourceChangedEventArgs.cs / 1305600 / SourceChangedEventArgs.cs
using System; using System.Security; using System.Security.Permissions; using MS.Internal; using MS.Internal.PresentationCore; // SecurityHelper using MS.Win32; namespace System.Windows { ////// Provides data for the SourceChanged event. /// public sealed class SourceChangedEventArgs : RoutedEventArgs { ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// ////// Critical:This handles critical in the form of PresentationSource but there are demands on the /// data /// PublicOK: As this code does not expose the data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource) :this(oldSource, newSource, null, null) { } ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// /// /// The element whose parent changed causing the source to change. /// /// /// The old parent of the element whose parent changed causing the /// source to change. /// ////// Critical:This handles critical data in the form of PresentationSource but there are demands on the /// critical data. /// PublicOK:As this code does not expose any critical data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource, IInputElement element, IInputElement oldParent) { _oldSource = new SecurityCriticalData(oldSource); _newSource = new SecurityCriticalData (newSource); _element = element; _oldParent = oldParent; } /// /// The old source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource OldSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _oldSource.Value; } } ////// The new source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource NewSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _newSource.Value; } } ////// The element whose parent changed causing the source to change. /// public IInputElement Element { get {return _element;} } ////// The old parent of the element whose parent changed causing the /// source to change. /// public IInputElement OldParent { get {return _oldParent;} } ////// The mechanism used to call the type-specific handler on the /// target. /// /// /// The generic handler to call in a type-specific way. /// /// /// The target to call the handler on. /// protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget) { SourceChangedEventHandler handler = (SourceChangedEventHandler) genericHandler; handler(genericTarget, this); } ////// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_oldSource; /// /// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_newSource; private IInputElement _element; private IInputElement _oldParent; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Security; using System.Security.Permissions; using MS.Internal; using MS.Internal.PresentationCore; // SecurityHelper using MS.Win32; namespace System.Windows { /// /// Provides data for the SourceChanged event. /// public sealed class SourceChangedEventArgs : RoutedEventArgs { ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// ////// Critical:This handles critical in the form of PresentationSource but there are demands on the /// data /// PublicOK: As this code does not expose the data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource) :this(oldSource, newSource, null, null) { } ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// /// /// The element whose parent changed causing the source to change. /// /// /// The old parent of the element whose parent changed causing the /// source to change. /// ////// Critical:This handles critical data in the form of PresentationSource but there are demands on the /// critical data. /// PublicOK:As this code does not expose any critical data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource, IInputElement element, IInputElement oldParent) { _oldSource = new SecurityCriticalData(oldSource); _newSource = new SecurityCriticalData (newSource); _element = element; _oldParent = oldParent; } /// /// The old source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource OldSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _oldSource.Value; } } ////// The new source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource NewSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _newSource.Value; } } ////// The element whose parent changed causing the source to change. /// public IInputElement Element { get {return _element;} } ////// The old parent of the element whose parent changed causing the /// source to change. /// public IInputElement OldParent { get {return _oldParent;} } ////// The mechanism used to call the type-specific handler on the /// target. /// /// /// The generic handler to call in a type-specific way. /// /// /// The target to call the handler on. /// protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget) { SourceChangedEventHandler handler = (SourceChangedEventHandler) genericHandler; handler(genericTarget, this); } ////// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_oldSource; /// /// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_newSource; private IInputElement _element; private IInputElement _oldParent; } } // 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
- RequestSecurityTokenResponse.cs
- LinkLabelLinkClickedEvent.cs
- ItemsControl.cs
- datacache.cs
- COAUTHIDENTITY.cs
- UIElementPropertyUndoUnit.cs
- XsdDuration.cs
- figurelengthconverter.cs
- AdornerDecorator.cs
- DrawingContext.cs
- CallbackValidator.cs
- Comparer.cs
- Property.cs
- WinFormsSecurity.cs
- ZipIOExtraFieldZip64Element.cs
- DataGridCellAutomationPeer.cs
- ViewService.cs
- DelegateTypeInfo.cs
- ContentElementCollection.cs
- MasterPageBuildProvider.cs
- InkCanvasSelection.cs
- PaperSource.cs
- Vector.cs
- TreeWalkHelper.cs
- HwndHostAutomationPeer.cs
- EntityModelSchemaGenerator.cs
- Table.cs
- ControlAdapter.cs
- Guid.cs
- SettingsAttributes.cs
- FontConverter.cs
- XmlName.cs
- WindowsSspiNegotiation.cs
- XpsLiterals.cs
- DocumentSchemaValidator.cs
- XsdSchemaFileEditor.cs
- PolicyStatement.cs
- VectorCollection.cs
- WindowPattern.cs
- WorkerRequest.cs
- Misc.cs
- GeneratedCodeAttribute.cs
- RuntimeArgument.cs
- XmlDataLoader.cs
- InfoCardMetadataExchangeClient.cs
- SmiEventStream.cs
- XsdBuilder.cs
- RecordManager.cs
- SmtpClient.cs
- MemberInfoSerializationHolder.cs
- DefaultBindingPropertyAttribute.cs
- ListItemConverter.cs
- BitmapEffectInput.cs
- InvokeCompletedEventArgs.cs
- ReadOnlyCollectionBase.cs
- OleDbMetaDataFactory.cs
- CustomExpressionEventArgs.cs
- SchemaNamespaceManager.cs
- EmissiveMaterial.cs
- XmlEntity.cs
- messageonlyhwndwrapper.cs
- PersonalizationEntry.cs
- AutoResizedEvent.cs
- BaseComponentEditor.cs
- SourceFilter.cs
- Transform.cs
- StatusStrip.cs
- SettingsPropertyNotFoundException.cs
- PersistNameAttribute.cs
- TextTreeRootNode.cs
- GAC.cs
- SplitterCancelEvent.cs
- dbdatarecord.cs
- DocumentPageHost.cs
- ThreadStateException.cs
- AnimationClock.cs
- SerializationSectionGroup.cs
- ParseNumbers.cs
- DescendentsWalker.cs
- LicFileLicenseProvider.cs
- SqlFunctions.cs
- HopperCache.cs
- FieldBuilder.cs
- RestClientProxyHandler.cs
- EventDriven.cs
- ReferenceSchema.cs
- SByteConverter.cs
- LoginUtil.cs
- NullableDoubleAverageAggregationOperator.cs
- ImageSourceValueSerializer.cs
- DataSpaceManager.cs
- XmlCharacterData.cs
- DataGridCellInfo.cs
- EmptyEnumerator.cs
- CodeMethodReturnStatement.cs
- NegatedCellConstant.cs
- TimelineGroup.cs
- XmlILOptimizerVisitor.cs
- DataRowExtensions.cs
- DataGridComponentEditor.cs