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 / SourceChangedEventArgs.cs / 1 / 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
- PipelineModuleStepContainer.cs
- EntityStoreSchemaGenerator.cs
- InfoCardTraceRecord.cs
- _NtlmClient.cs
- Attachment.cs
- RawMouseInputReport.cs
- AssemblySettingAttributes.cs
- SafeSystemMetrics.cs
- XmlDataSourceNodeDescriptor.cs
- AmbiguousMatchException.cs
- TimerTable.cs
- PeerToPeerException.cs
- EventQueueState.cs
- DeviceContexts.cs
- TemplateBindingExtension.cs
- CellQuery.cs
- GroupQuery.cs
- CustomServiceCredentials.cs
- DirectoryObjectSecurity.cs
- BitmapMetadataBlob.cs
- ActivityTrace.cs
- ReadOnlyDictionary.cs
- TextElementCollection.cs
- DummyDataSource.cs
- DataListItemCollection.cs
- ResourceDefaultValueAttribute.cs
- SkipStoryboardToFill.cs
- SpotLight.cs
- SchemaElementLookUpTable.cs
- ResourcesBuildProvider.cs
- IProducerConsumerCollection.cs
- Image.cs
- ComplexPropertyEntry.cs
- ProtectedConfiguration.cs
- BStrWrapper.cs
- StringFreezingAttribute.cs
- DataColumn.cs
- Frame.cs
- PolicyValidationException.cs
- GridProviderWrapper.cs
- SqlParameterizer.cs
- ADMembershipUser.cs
- TransactionBridgeSection.cs
- TreeNode.cs
- GlyphRunDrawing.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- BoundingRectTracker.cs
- XmlRootAttribute.cs
- OutOfMemoryException.cs
- CommonDialog.cs
- ProjectionNode.cs
- CodePageUtils.cs
- EntityDesignerUtils.cs
- PipeConnection.cs
- AudioException.cs
- HasCopySemanticsAttribute.cs
- DoubleSumAggregationOperator.cs
- activationcontext.cs
- SafeNativeMethods.cs
- DataKey.cs
- NamedElement.cs
- SByteStorage.cs
- WebServiceData.cs
- TemplatedMailWebEventProvider.cs
- SamlAdvice.cs
- PersonalizationProviderCollection.cs
- UnmanagedHandle.cs
- EntityViewGenerationConstants.cs
- InputManager.cs
- OutputCacheProfile.cs
- KeyPullup.cs
- CultureInfo.cs
- SslSecurityTokenParameters.cs
- IntellisenseTextBox.cs
- PropertyFilterAttribute.cs
- CodeGeneratorAttribute.cs
- HttpHandlersSection.cs
- FrameworkContentElement.cs
- PreparingEnlistment.cs
- TimerElapsedEvenArgs.cs
- DataGridState.cs
- ProfileService.cs
- TextProperties.cs
- _KerberosClient.cs
- ListViewInsertionMark.cs
- CmsUtils.cs
- SmtpFailedRecipientsException.cs
- PropertyDescriptorGridEntry.cs
- unsafenativemethodstextservices.cs
- BindingSource.cs
- NetworkInformationException.cs
- BamlLocalizableResourceKey.cs
- CommandBindingCollection.cs
- DelayedRegex.cs
- ColumnResizeAdorner.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DefinitionProperties.cs
- InheritanceAttribute.cs
- ChildTable.cs
- FrameworkContentElement.cs