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