IRawElementProviderAdviseEvents::AdviseEventRemoved メソッド (uiautomationcore.h)
UI オートメーション クライアントが、プロパティ変更イベントを含む特定のイベントのリッスンを停止したときに、Microsoft UI オートメーション プロバイダーに通知します。
構文
HRESULT AdviseEventRemoved(
[in] EVENTID eventId,
[in] SAFEARRAY *propertyIDs
);
パラメーター
[in] eventId
種類: EVENTID
削除されるイベントの識別子。 イベント ID の一覧については、「 イベント識別子」を参照してください。
[in] propertyIDs
種類: SAFEARRAY*
削除されるプロパティの識別子へのポインター。削除されるイベント リスナーがプロパティ イベントをリッスンしていない場合は NULL 。
戻り値
種類: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
このメソッドを使用すると、リッスン対象のイベントのみを発生させることで、プロバイダーのオーバーヘッドを削減できます。
UI オートメーション プロバイダーでは、IRawElementProviderAdviseEvents::AdviseEventRemoved を IUnknown インターフェイスの Release メソッドのように処理することが重要です。 特定のイベントまたはプロパティに対して AdviseEventAdded が AdviseEventRemoved よりも多くの回数呼び出されている限り、一部のクライアントがまだリッスンしているため、プロバイダーは引き続き対応するイベントを発生させる必要があります。 または、UI オートメーション プロバイダーは 、UiaClientsAreListening 関数を 使用して、少なくとも 1 つのクライアントがリッスンしているかどうかを判断し、存在する場合は、すべての適切なイベントを発生させることができます。
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | uiautomationcore.h (UIAutomation.h を含む) |
関連項目
概念
IRawElementProviderAdviseEvents
参照