QueryService를 사용하여 IAccessible 개체에 대한 네이티브 인터페이스 검색
서버 개발자는 이 기술을 사용하여 IAccessible 개체에 대한 사용자 지정 문서 노드에 대한 포인터를 노출할 수 있습니다. 이 경우 이미 IAccessible 개체를 노출한다고 가정합니다. 이 기술을 사용하면 클라이언트가 IAccessible 개체에서 사용자 지정 개체를 가져올 수 있습니다.
IAccessible(서버)에 대한 네이티브 개체 모델을 노출하려면
- IAccessible 개체에서 IServiceProvider 인터페이스에 대한 지원을 추가합니다.
- IAccessible 개체에서 사용자 지정 인터페이스를 가져오는 기능을 나타내는 GUID를 정의합니다. 이를 서비스 ID라고 합니다. GUIDGEN.EXE 사용하여 서비스 ID를 생성하거나 사용자 지정 인터페이스가 있는 경우 인터페이스 ID를 다시 사용할 수 있습니다.
- 이 절차의 앞부분에서 정의된 서비스 ID를 사용하여 호출할 때 사용자 지정 인터페이스에 대한 포인터를 반환하도록 IServiceProvider::QueryService 메서드를 구현합니다. QueryService는 다른 모든 서비스 ID 값에 대해 NULL 을 반환해야 합니다.
- 클라이언트에서 사용할 수 있도록 서비스 ID를 게시합니다.
클라이언트는 이 기능을 사용하여 IAccessible 개체에서 사용자 지정 개체에 대한 포인터를 가져올 수 있습니다.
IAccessible(클라이언트)에서 사용자 지정 개체에 대한 포인터를 가져오려면
- IAccessible 인터페이스 포인터에서 QueryInterface(IID_IServiceProvider)를 호출하여 IServiceProvider 인터페이스 포인터를 가져옵니다.
- 게시된 서비스 ID를 사용하여 IServiceProvider::QueryService 를 호출하여 IAccessible에 대한 사용자 지정 개체에 대한 포인터를 가져옵니다.
- 더 이상 필요하지 않은 경우 IServiceProvider 인터페이스를 해제합니다.
프로세스에서 사용할 수 있도록 서버는 반환된 인터페이스를 COM(구성 요소 개체 모델)에 등록해야 할 수 있습니다.
이 기술은 Microsoft Internet Explorer 4.0 이상에서 사용됩니다. 이를 통해 클라이언트는 IAccessible 개체에 해당하는 IHTMLElement2 인터페이스 포인터를 가져올 수 있습니다.