次の方法で共有


IUIAutomation::RemoveAutomationEventHandler メソッド (uiautomationclient.h)

指定したUI オートメーションイベント ハンドラーを削除します。

構文

HRESULT RemoveAutomationEventHandler(
  [in] EVENTID                   eventId,
  [in] IUIAutomationElement      *element,
  [in] IUIAutomationEventHandler *handler
);

パラメーター

[in] eventId

種類: EVENTID

処理されるイベントの識別子。 イベント ID の一覧については、「 イベント識別子」を参照してください。

[in] element

種類: IUIAutomationElement*

イベントを処理しているUI オートメーション要素へのポインター。

[in] handler

種類: IUIAutomationEventHandler*

指定したイベント識別子と UI オートメーション 要素の IUIAutomation::AddAutomationEventHandler に渡されたハンドラー メソッドへのポインター。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

UI オートメーション クライアントでは、イベント ハンドラーを追加または削除するために複数のスレッドを使用しないでください。 同じクライアント プロセスで別のイベント ハンドラーが追加または削除されている間に、1 つのイベント ハンドラーが追加または削除されると、予期しない動作が発生する可能性があります。

イベントがイベントのサブスクライブ解除要求と同時に受信された場合、ハンドラーのサブスクライブ解除後にイベントがイベント ハンドラーに配信される可能性があります。 ベスト プラクティスは、コンポーネント オブジェクト モデル (COM) 標準に従い、参照カウントが 0 に達するまでイベント ハンドラー オブジェクトを破棄しないようにすることです。 イベントのサブスクライブを解除した直後にイベント ハンドラーを破棄すると、イベントが遅延して配信された場合、アクセス違反が発生する可能性があります。

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム、WINDOWS XP SP3 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム、WINDOWS Server 2003 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー uiautomationclient.h (UIAutomation.h を含む)

こちらもご覧ください

IUIAutomation

RemoveAllEventHandlers

RemoveFocusChangedEventHandler

RemovePropertyChangedEventHandler

RemoveStructureChangedEventHandler