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
- MailAddressParser.cs
- StrokeNodeEnumerator.cs
- CheckBoxField.cs
- RoutedPropertyChangedEventArgs.cs
- FlowDocument.cs
- Math.cs
- MimeObjectFactory.cs
- BreakRecordTable.cs
- BitmapCodecInfoInternal.cs
- WebConfigurationFileMap.cs
- ObjectQueryExecutionPlan.cs
- PlatformCulture.cs
- Trace.cs
- DictionaryTraceRecord.cs
- MemberPathMap.cs
- DataServices.cs
- OutArgumentConverter.cs
- DrawingContextDrawingContextWalker.cs
- EdmType.cs
- UserNamePasswordClientCredential.cs
- MatrixTransform3D.cs
- SplashScreen.cs
- ListViewItemSelectionChangedEvent.cs
- HttpFileCollectionWrapper.cs
- Parser.cs
- MimeTypeAttribute.cs
- MatrixKeyFrameCollection.cs
- CodeParameterDeclarationExpression.cs
- IdentifierService.cs
- DbReferenceCollection.cs
- DeclarationUpdate.cs
- BufferAllocator.cs
- DWriteFactory.cs
- IISMapPath.cs
- ValuePatternIdentifiers.cs
- ImageCollectionEditor.cs
- NativeCompoundFileAPIs.cs
- DomNameTable.cs
- ChineseLunisolarCalendar.cs
- COM2ExtendedTypeConverter.cs
- RemoteCryptoRsaServiceProvider.cs
- ProxyGenerator.cs
- DelimitedListTraceListener.cs
- COM2ColorConverter.cs
- PartialCachingControl.cs
- UndoManager.cs
- CodeArrayCreateExpression.cs
- MsmqProcessProtocolHandler.cs
- Rectangle.cs
- EnvironmentPermission.cs
- ChildTable.cs
- BuildResultCache.cs
- Tablet.cs
- StretchValidation.cs
- SamlAuthenticationClaimResource.cs
- ToolStripItemEventArgs.cs
- MulticastOption.cs
- GlyphsSerializer.cs
- ProfileManager.cs
- BreadCrumbTextConverter.cs
- OuterGlowBitmapEffect.cs
- XmlHierarchyData.cs
- ResourcePermissionBaseEntry.cs
- PropertyChangingEventArgs.cs
- BuildManager.cs
- XmlSerializer.cs
- ContractMapping.cs
- MethodBuilder.cs
- BitmapPalette.cs
- AnnouncementEndpoint.cs
- ObjectDataSourceDisposingEventArgs.cs
- StackSpiller.Temps.cs
- HandleCollector.cs
- Size3D.cs
- PerformanceCounters.cs
- SqlDataSourceCommandEventArgs.cs
- WindowsSpinner.cs
- SqlXml.cs
- DataKeyPropertyAttribute.cs
- XmlSchemaGroupRef.cs
- DataMisalignedException.cs
- COM2PropertyDescriptor.cs
- BamlLocalizer.cs
- HttpProfileGroupBase.cs
- _SslSessionsCache.cs
- RightsManagementInformation.cs
- NetworkAddressChange.cs
- StickyNoteHelper.cs
- AssertSection.cs
- COM2FontConverter.cs
- StdValidatorsAndConverters.cs
- RoleGroupCollectionEditor.cs
- QilInvoke.cs
- MenuTracker.cs
- HostProtectionException.cs
- ScrollData.cs
- __ConsoleStream.cs
- AudioDeviceOut.cs
- Command.cs
- NodeFunctions.cs