使用 QueryService 擷取 IAccessible 物件的原生介面
伺服器開發人員可以使用這項技術來公開 IAccessible 物件的自訂檔節點指標。 這假設您已經公開 IAccessible 物件。 這項技術可讓用戶端從 IAccessible 物件取得自訂物件。
公開 IAccessible (伺服器的原生物件模型)
- 在IAccessible物件上新增IServiceProvider介面的支援。
- 定義 GUID,表示從 IAccessible 物件取得自訂介面的功能。 這稱為服務識別碼。 您可以使用GUIDGEN.EXE來產生服務識別碼,或者如果您有自訂介面,則可以重複使用介面識別碼。
- 實作 IServiceProvider::QueryService 方法,以便在使用此程式稍早定義的服務識別碼呼叫時,傳回自訂介面的指標。 QueryService 應該針對所有其他服務識別碼值傳回 Null 。
- 發佈服務識別碼,讓用戶端可以使用它。
用戶端可以使用這項功能,從 IAccessible 物件取得自訂物件的指標。
若要從 IAccessible (用戶端取得自訂物件的指標,)
- 在IAccessible介面指標上呼叫QueryInterface (IID_IServiceProvider) ,以取得IServiceProvider介面指標。
- 使用已發佈的服務識別碼呼叫 IServiceProvider::QueryService ,以取得 IAccessible之自訂物件的指標。
- 如果不再需要,請釋放 IServiceProvider 介面。
若要跨進程使用,伺服器可能需要向元件物件模型註冊傳回的介面, (COM) 。
Microsoft Internet Explorer 4.0 和更新版本會使用這項技術。 它可讓用戶端取得對應至IAccessible物件的IHTMLElement2介面指標。