WM_GETOBJECTのしくみ

Microsoft Active Accessibility は、 クライアントがAccessibleObjectFromX 関数のいずれかを呼び出すときに、WM_GETOBJECT メッセージを適切なサーバー アプリケーションに送信します。 次の一覧では、発生するさまざまなシナリオについて説明します。

  • WM_GETOBJECTを受け取るウィンドウまたはコントロールが IAccessible を実装している場合、ウィンドウは LresultFromObject を使用して IAccessible インターフェイスへの参照を返します。 Microsoft Active Accessibility は、コンポーネント オブジェクト モデル (COM) ライブラリと組み合わせて、適切なマーシャリングを実行し、サーバーからクライアントにインターフェイス ポインターを渡します。
  • メッセージを受信するウィンドウが IAccessible を実装していない場合は、0 を返す必要があります。
  • ウィンドウで WM_GETOBJECT メッセージが処理されない場合、 DefWindowProc 関数は 0 を返します。

サーバーから 0 が返された場合でも、Microsoft Active Accessibility はオブジェクトに関する情報をクライアントに提供します。 リスト ボックスやボタンなど、システムが提供するほとんどのオブジェクトに対して、Microsoft Active Accessibility は完全な情報を提供します。その他のオブジェクトの場合、情報は制限されます。 たとえば、Microsoft Active Accessibility では、ウィンドウ ハンドルを持たないコントロールの情報は提供されません。 Microsoft Active Accessibility は、クライアントがオブジェクトに関する情報を取得するために使用するプロキシ化された IAccessible インターフェイス ポインターを返します。

詳細については、「 WM_GETOBJECT メッセージ」を参照してください。