HwndHostAutomationPeer.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Automation / Peers / HwndHostAutomationPeer.cs / 1 / HwndHostAutomationPeer.cs

                            using System.Collections.Generic; 
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using System.Windows.Interop;
using System.Security; 
using System.Security.Permissions;
using MS.Internal.Automation; 
 
namespace System.Windows.Automation.Peers
{ 

    ///
    internal class HwndHostAutomationPeer : FrameworkElementAutomationPeer
    { 
        ///
        public HwndHostAutomationPeer(HwndHost owner): base(owner) 
        { 
            IsInteropPeer = true;
        } 

        ///
        override protected string GetClassNameCore()
        { 
            return "HwndHost";
        } 
 
        ///
        override protected AutomationControlType GetAutomationControlTypeCore() 
        {
            return AutomationControlType.Pane;
        }
 
        /// 
        ///     Critical    - Calls critical HwndHost.CriticalHandle. 
        ///     TreatAsSafe - Critical data is used internally and not explosed 
        /// 
        [SecurityCritical, SecurityTreatAsSafe] 
        override internal InteropAutomationProvider GetInteropChild()
        {
            if (_interopProvider == null)
            { 

                HostedWindowWrapper wrapper = null; 
 
                HwndHost host = (HwndHost)Owner;
                IntPtr hwnd = host.CriticalHandle; 

                if(hwnd != IntPtr.Zero)
                {
                    wrapper = HostedWindowWrapper.CreateInternal(hwnd); 
                }
 
                _interopProvider = new InteropAutomationProvider(wrapper, this); 
            }
 
            return _interopProvider;
        }

        #region Data 

        private InteropAutomationProvider _interopProvider; 
 
        #endregion Data
    } 
}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System.Collections.Generic; 
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using System.Windows.Interop;
using System.Security; 
using System.Security.Permissions;
using MS.Internal.Automation; 
 
namespace System.Windows.Automation.Peers
{ 

    ///
    internal class HwndHostAutomationPeer : FrameworkElementAutomationPeer
    { 
        ///
        public HwndHostAutomationPeer(HwndHost owner): base(owner) 
        { 
            IsInteropPeer = true;
        } 

        ///
        override protected string GetClassNameCore()
        { 
            return "HwndHost";
        } 
 
        ///
        override protected AutomationControlType GetAutomationControlTypeCore() 
        {
            return AutomationControlType.Pane;
        }
 
        /// 
        ///     Critical    - Calls critical HwndHost.CriticalHandle. 
        ///     TreatAsSafe - Critical data is used internally and not explosed 
        /// 
        [SecurityCritical, SecurityTreatAsSafe] 
        override internal InteropAutomationProvider GetInteropChild()
        {
            if (_interopProvider == null)
            { 

                HostedWindowWrapper wrapper = null; 
 
                HwndHost host = (HwndHost)Owner;
                IntPtr hwnd = host.CriticalHandle; 

                if(hwnd != IntPtr.Zero)
                {
                    wrapper = HostedWindowWrapper.CreateInternal(hwnd); 
                }
 
                _interopProvider = new InteropAutomationProvider(wrapper, this); 
            }
 
            return _interopProvider;
        }

        #region Data 

        private InteropAutomationProvider _interopProvider; 
 
        #endregion Data
    } 
}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK