File: System\Windows\Automation\Provider\ISynchronizedInputProvider.cs
Web Access
Project: src\src\Microsoft.DotNet.Wpf\src\UIAutomation\UIAutomationProvider\UIAutomationProvider.csproj (UIAutomationProvider)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
// Description: SynchronizedInput control pattern provider interface
 
using System.Runtime.InteropServices;
 
namespace System.Windows.Automation.Provider
{
 
 
    /// <summary>
    /// Interface implemented by peers which support synchronized input
    /// </summary>
    [ComVisible(true)]
    [Guid("29db1a06-02ce-4cf7-9b42-565d4fab20ee")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
#if (NO_INTERNAL_COMPILE_BUG1080665)
    internal interface ISynchronizedInputProvider
#else
    public interface ISynchronizedInputProvider
#endif
    {
        /// <summary>
        /// When called, framework checks for further input of the specified type
        /// When matching input is found, WPF checks the route of the incoming event,
        /// if the element which StartListening was originally called on is not in the route, 
        /// WPF will discard the input and fire InputDiscarded Automation event otherwise,
        /// If the input event reaches the element which which StartListening was originally 
        /// called on then WPF fires InputReachedTarget automation event else InputReachedOtherElement
        ///  automation event will be raised.
        /// 
        ///  This is a one-shot API; once the input is received, the framework
        /// stops checking input and continues as normal once one of the
        /// above events is fired.
        /// </summary>
        void  StartListening(SynchronizedInputType inputType);
        /// <summary>
        /// If the framework is currently listening for input, it will revert
        /// to normal operation. 
        /// </summary>
        void Cancel();
 
    }
}