ProviderOptions Enumerated Type

Contains values that specify the type of UI Automation provider.

Syntax

typedef enum {
    ProviderOptions_ClientSideProvider,
    ProviderOptions_ServerSideProvider,
    ProviderOptions_NonClientAreaProvider,
    ProviderOptions_OverrideProvider,
    ProviderOptions_ProviderOwnsSetFocus,
    ProviderOptions_UseComThreading
} ProviderOptions;

Constants

ProviderOptions_ClientSideProvider

The provider is a client-side provider.

ProviderOptions_ServerSideProvider

The provider is a server-side provider.

ProviderOptions_NonClientAreaProvider

The provider is a non-client-area provider.

ProviderOptions_OverrideProvider

The provider overrides another provider.

ProviderOptions_ProviderOwnsSetFocus

The provider handles its own focus, and does not want Microsoft 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 Microsoft Win32 focus, such as menus and drop-downs.

ProviderOptions_UseComThreading

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 which 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.

Enumerated Type Information

Header uiautomationcore.h
Minimum operating systems Windows XP

See Also

IRawElementProviderFragment::SetFocus
Show: