UiaReturnRawElementProvider 関数 (uiautomationcoreapi.h)

ウィンドウのUI オートメーション プロバイダーへのインターフェイスを取得します。

構文

LRESULT UiaReturnRawElementProvider(
  [in] HWND                      hwnd,
  [in] WPARAM                    wParam,
  [in] LPARAM                    lParam,
  [in] IRawElementProviderSimple *el
);

パラメーター

[in] hwnd

種類: HWND

プロバイダーによって提供される要素を含むウィンドウのハンドル。

[in] wParam

種類: WPARAM

WM_GETOBJECT メッセージの wParam 引数。

[in] lParam

種類: LPARAM

WM_GETOBJECT メッセージの lParam 引数。

[in] el

種類: IRawElementProviderSimple*

UI オートメーション プロバイダー。

戻り値

型: LRESULT

クライアント プロセスがUI オートメーションを介してサーバー プロセスに接続するためのキー。

この関数は、プロバイダーの発生イベント マップを削除しても安全であることをUI オートメーションに通知するために使用される場合、0 を返します。 詳細については、「解説」を参照してください。

注釈

この関数は、WM_GETOBJECT メッセージを受信したときにコントロールによって呼び出され、コントロールのUI オートメーション プロバイダーにUI オートメーションを提供します。 コントロールは 、wParam パラメーターと lParam パラメーターを最初にフィルター処理せずに UiaReturnRawElementProvider 関数に渡す必要があります。これは、フィルター処理によって Microsoft Active Accessibility クライアントで問題が発生する可能性があるためです。 コントロールのウィンドウ プロシージャは、 UiaReturnRawElementProvider を呼び出した結果を返す必要があります。

Microsoft Active Accessibility クライアントがUI オートメーション プロバイダーによって発生したイベントをリッスンしている場合、UI オートメーションはイベントを発生させたプロバイダーのマップを保持します。 Microsoft Active Accessibility クライアントが追加情報を要求すると、UI オートメーションはマップを使用して要求を適切なプロバイダーにルーティングします。 以前にプロバイダーを返したウィンドウが破棄された場合は、UiaReturnRawElementProvider 関数を次のようにUiaReturnRawElementProvider(hwnd, 0, 0, NULL)呼び出して、UI オートメーションに通知する必要があります。 この呼び出しは、指定されたウィンドウを参照するすべてのマップ エントリを安全に削除できることをUI オートメーションに指示します。 この呼び出しでは、発生イベント マップによって保持されているプロバイダーへの参照が解放されるため、メモリを節約できます。 関数は、これらの特殊なパラメーターを使用して呼び出されると 0 を返します。 Microsoft では、UI オートメーション プロバイダーを返すウィンドウのWM_DESTROY メッセージ ハンドラーからこの呼び出しを行うことをお勧めします。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー uiautomationcoreapi.h
Library Uiautomationcore.lib
[DLL] Uiautomationcore.dll