次の方法で共有


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

登録されているすべての Microsoft UI オートメーション イベント ハンドラーを削除します。

構文

HRESULT RemoveAllEventHandlers();

戻り値

型: 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

RemoveAutomationEventHandler

RemoveFocusChangedEventHandler

RemovePropertyChangedEventHandler

RemoveStructureChangedEventHandler