다음을 통해 공유


IAccessible 개체 검색

Microsoft Active Accessibility는 클라이언트가 액세스 가능한 개체를 검색할 수 있도록 AccessibleObjectFromWindowAccessibleObjectFromPoint 와 같은 함수를 제공합니다. 이러한 함수는 클라이언트가 액세스 가능한 개체에 대한 정보를 가져오는 IDispatch 또는 IAccessible 인터페이스 포인터를 반환합니다.

클라이언트가 AccessObjectFromWindow 또는 개체에 대한 인터페이스를 검색하는 다른 AccessibleObjectFromX 함수를 호출하면 Microsoft Active Accessibility는 해당 애플리케이션 내의 해당 창 프로시저에 WM_GETOBJECT 창 메시지를 보냅니다. 클라이언트에 정보를 제공하려면 서버가 WM_GETOBJECT 메시지에 응답해야 합니다.

UI 요소에 대한 특정 정보를 수집하려면 클라이언트가 먼저 요소에 대한 IAccessible 인터페이스를 검색해야 합니다. 요소의 IAccessible 개체를 검색하기 위해 클라이언트는 다음 함수 중 하나를 사용할 수 있습니다.

IAccessible 인터페이스 포인터를 검색하려면

  1. 클라이언트는 AccessibleObjectFromX 함수 중 하나를 호출합니다.

  2. Oleacc.dll 서버에 WM_GETOBJECT 메시지를 보냅니다.

  3. 서버는 요청에 해당하는 UI 요소를 결정합니다.

  4. 서버는 0을 반환하여 Oleacc.dll 프록시를 요청합니다.

    또는

    IAccessible 개체(네이티브 구현)를 반환합니다. 이렇게 하려면 다음을 수행합니다.

    • 요소에 대한 IAccessible 개체를 생성합니다.
    • LresultFromObject를 호출하여 개체의 포인터를 마샬링합니다.
    • Oleacc.dll LRESULT를 반환합니다.
  5. Oleacc.dll WM_GETOBJECT 반환 값을 검사합니다.

    0이면 Oleacc.dll 프록시 개체를 생성하고 클라이언트에 반환합니다.

    또는

    0이 아닌 경우 Oleacc.dll ObjectFromLresult 를 호출하여 네이티브 IAccessible 개체 포인터를 숨기지 않고 클라이언트에 반환합니다.