다음을 통해 공유


QueryService를 사용하여 IAccessible 개체에 대한 네이티브 인터페이스 검색

서버 개발자는 이 기술을 사용하여 IAccessible 개체에 대한 사용자 지정 문서 노드에 대한 포인터를 노출할 수 있습니다. 이 경우 이미 IAccessible 개체를 노출한다고 가정합니다. 이 기술을 사용하면 클라이언트가 IAccessible 개체에서 사용자 지정 개체를 가져올 수 있습니다.

IAccessible(서버)에 대한 네이티브 개체 모델을 노출하려면

  1. IAccessible 개체에서 IServiceProvider 인터페이스에 대한 지원을 추가합니다.
  2. IAccessible 개체에서 사용자 지정 인터페이스를 가져오는 기능을 나타내는 GUID를 정의합니다. 이를 서비스 ID라고 합니다. GUIDGEN.EXE 사용하여 서비스 ID를 생성하거나 사용자 지정 인터페이스가 있는 경우 인터페이스 ID를 다시 사용할 수 있습니다.
  3. 이 절차의 앞부분에서 정의된 서비스 ID를 사용하여 호출할 때 사용자 지정 인터페이스에 대한 포인터를 반환하도록 IServiceProvider::QueryService 메서드를 구현합니다. QueryService는 다른 모든 서비스 ID 값에 대해 NULL 을 반환해야 합니다.
  4. 클라이언트에서 사용할 수 있도록 서비스 ID를 게시합니다.

클라이언트는 이 기능을 사용하여 IAccessible 개체에서 사용자 지정 개체에 대한 포인터를 가져올 수 있습니다.

IAccessible(클라이언트)에서 사용자 지정 개체에 대한 포인터를 가져오려면

  1. IAccessible 인터페이스 포인터에서 QueryInterface(IID_IServiceProvider)를 호출하여 IServiceProvider 인터페이스 포인터를 가져옵니다.
  2. 게시된 서비스 ID를 사용하여 IServiceProvider::QueryService 를 호출하여 IAccessible에 대한 사용자 지정 개체에 대한 포인터를 가져옵니다.
  3. 더 이상 필요하지 않은 경우 IServiceProvider 인터페이스를 해제합니다.

프로세스에서 사용할 수 있도록 서버는 반환된 인터페이스를 COM(구성 요소 개체 모델)에 등록해야 할 수 있습니다.

이 기술은 Microsoft Internet Explorer 4.0 이상에서 사용됩니다. 이를 통해 클라이언트는 IAccessible 개체에 해당하는 IHTMLElement2 인터페이스 포인터를 가져올 수 있습니다.