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
- StorageMappingItemLoader.cs
- ServicesUtilities.cs
- ReliableSessionElement.cs
- ClientFormsAuthenticationCredentials.cs
- XmlAttributeOverrides.cs
- DocumentXmlWriter.cs
- MessageSmuggler.cs
- messageonlyhwndwrapper.cs
- Html32TextWriter.cs
- dtdvalidator.cs
- DefaultValueAttribute.cs
- ToolStripGrip.cs
- _ConnectionGroup.cs
- XmlSchemaExporter.cs
- QilFactory.cs
- NumberEdit.cs
- ADConnectionHelper.cs
- WebReferencesBuildProvider.cs
- SplitterCancelEvent.cs
- HttpServerVarsCollection.cs
- ListMarkerLine.cs
- TraceEventCache.cs
- DaylightTime.cs
- XmlReflectionImporter.cs
- Positioning.cs
- CryptoApi.cs
- QuotedStringWriteStateInfo.cs
- ErrorHandler.cs
- ReadWriteSpinLock.cs
- ThicknessKeyFrameCollection.cs
- GridItemPatternIdentifiers.cs
- HostedAspNetEnvironment.cs
- FixedDocument.cs
- ToolStripContainer.cs
- ADMembershipProvider.cs
- XmlChoiceIdentifierAttribute.cs
- DynamicDocumentPaginator.cs
- WebPartZone.cs
- BasicCellRelation.cs
- ReferencedType.cs
- XmlSchemaSimpleContent.cs
- SRef.cs
- DataControlFieldHeaderCell.cs
- WebPartDisplayModeEventArgs.cs
- ToolTipService.cs
- UrlMappingCollection.cs
- StorageConditionPropertyMapping.cs
- BamlLocalizableResource.cs
- DataListItem.cs
- SqlDataRecord.cs
- CodeMethodReturnStatement.cs
- GlyphRun.cs
- BamlWriter.cs
- ListSurrogate.cs
- FixedSOMGroup.cs
- SymDocumentType.cs
- ConfigurationStrings.cs
- ChtmlSelectionListAdapter.cs
- CounterSampleCalculator.cs
- PeerTransportElement.cs
- ConstructorNeedsTagAttribute.cs
- TraceAsyncResult.cs
- TagElement.cs
- JobPageOrder.cs
- CodeIndexerExpression.cs
- SpnegoTokenProvider.cs
- ClientTargetCollection.cs
- TripleDES.cs
- Application.cs
- MetadataWorkspace.cs
- RequestTimeoutManager.cs
- SingleSelectRootGridEntry.cs
- DigestComparer.cs
- ResourcePool.cs
- XmlSchemaSubstitutionGroup.cs
- X509WindowsSecurityToken.cs
- WindowsAuthenticationModule.cs
- ConnectorEditor.cs
- MD5CryptoServiceProvider.cs
- TextDecorationCollectionConverter.cs
- SqlDataSourceCommandParser.cs
- MdiWindowListItemConverter.cs
- AccessibleObject.cs
- BindingMemberInfo.cs
- GridToolTip.cs
- WinEventWrap.cs
- ScrollViewer.cs
- DataSetMappper.cs
- MediaContextNotificationWindow.cs
- OleDbPermission.cs
- ClaimComparer.cs
- StructuralType.cs
- MsmqAppDomainProtocolHandler.cs
- TypeDescriptor.cs
- SqlDataReaderSmi.cs
- HtmlInputText.cs
- FileUtil.cs
- CatalogZoneBase.cs
- DataTableReader.cs
- GenericsInstances.cs