IRawElementProviderAdviseEvents::AdviseEventRemoved method (uiautomationcore.h)

Notifies the Microsoft UI Automation provider when a UI Automation client stops listening for a specific event, including a property-changed event.

Syntax

HRESULT AdviseEventRemoved(
  [in] EVENTID   eventId,
  [in] SAFEARRAY *propertyIDs
);

Parameters

[in] eventId

Type: EVENTID

The identifier of the event being removed. For a list of event IDs, see Event Identifiers.

[in] propertyIDs

Type: SAFEARRAY*

A pointer to the identifiers of the properties being removed, or NULL if the event listener being removed is not listening for property events.

Return value

Type: HRESULT

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

This method enables the provider to reduce overhead by raising only events that are being listened for.

It is important for UI Automation providers to treat the IRawElementProviderAdviseEvents::AdviseEventRemoved like the Release method of the IUnknown interface. As long as AdviseEventAdded has been called more times than AdviseEventRemoved for a specific event or property, the provider should continue to raise corresponding events, because some clients are still listening. Alternatively, UI Automation providers can use the UiaClientsAreListening function to determine if at least one client is listening and, if so, raise all appropriate events.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header uiautomationcore.h (include UIAutomation.h)

See also

Best Practices for Using Safe Arrays

Conceptual

IRawElementProviderAdviseEvents

Reference