File: Windows.Win32.ProviderOptions.g.cs
Project: src\src\System.Windows.Forms.Primitives\src\System.Windows.Forms.Primitives.csproj (System.Windows.Forms.Primitives)
// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------

#pragma warning disable CS1591,CS1573,CS0465,CS0649,CS8019,CS1570,CS1584,CS1658,CS0436,CS8981
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using global::System.Runtime.Versioning;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
	namespace UI.Accessibility
	{
		/// <summary>Contains values that specify the type of UI Automation provider. The IRawElementProviderSimple::ProviderOptions property uses this enumeration.</summary>
		/// <remarks>
		/// <para><see href="https://learn.microsoft.com/windows/win32/api/uiautomationcore/ne-uiautomationcore-provideroptions">Learn more about this API from docs.microsoft.com</see>.</para>
		/// </remarks>
		[Flags]
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal enum ProviderOptions
		{
			/// <summary>The provider is a client-side (proxy) provider.</summary>
			ProviderOptions_ClientSideProvider = 0x00000001,
			/// <summary>The provider is a server-side provider.</summary>
			ProviderOptions_ServerSideProvider = 0x00000002,
			/// <summary>The provider is a non-client-area provider.</summary>
			ProviderOptions_NonClientAreaProvider = 0x00000004,
			/// <summary>The provider overrides another provider.</summary>
			ProviderOptions_OverrideProvider = 0x00000008,
			/// <summary>The provider handles its own focus, and does not want UI Automation to set focus to the nearest window on its behalf. This option is typically used by providers for windows that appear to take focus without actually receiving Win32 focus, such as menus and drop-downs.</summary>
			ProviderOptions_ProviderOwnsSetFocus = 0x00000010,
			/// <summary>The provider has explicit support for COM threading models, so that calls by UI Automation on COM-based providers are received on the appropriate thread. This means that STA-based provider implementations will be called back on their own STA thread, and therefore do not need extra synchronization to safely access resources that belong to that STA. MTA-based provider implementations will be called back on some other thread in the MTA, and will require appropriate synchronization to be added, as is usual for MTA code.</summary>
			ProviderOptions_UseComThreading = 0x00000020,
			/// <summary>The provider handles its own non-client area and does not want UI Automation to provide default accessibility support for controls in the non-client area, such as minimize/maximize buttons and menu bars.</summary>
			ProviderOptions_RefuseNonClientSupport = 0x00000040,
			/// <summary>The provider implements the <a href="https://docs.microsoft.com/windows/desktop/api/oleacc/nn-oleacc-iaccessible">IAccessible</a> interface.</summary>
			ProviderOptions_HasNativeIAccessible = 0x00000080,
			/// <summary>The provider works in client coordinates instead of screen coordinates.</summary>
			ProviderOptions_UseClientCoordinates = 0x00000100,
		}
	}
}