雙重介面:IAccessible 和 IDispatch
伺服器開發人員必須為其可存取的物件提供標準元件物件模型 (COM) 介面 IDispatch。 IDispatch 介面可讓以 Visual Basic 和各種腳本語言 Microsoft 撰寫的用戶端應用程式使用 IAccessible所公開的方法和屬性。 因為可存取的物件可以透過 IDispatch::Invoke 間接存取物件,或直接使用 IAccessible存取物件,所以據說具有雙重介面。
當 C/C++用戶端取回 IDispatch 介面指標時,用戶端可以呼叫 QueryInterface,嘗試將 IDispatch 介面指標轉換成 IAccessible介面指標。 若要間接呼叫 IAccessible 方法,C/C++用戶端會呼叫 IDispatch::Invoke。 為了提升效能,請呼叫 IAccessible 方法來直接使用 物件。
如需 IDispatch 用來識別 IAccessible 方法和屬性的分派標識符清單,請參閱 附錄 C:IAccessible DISPID。
注意
在 2.0 版和更新版本的 Microsoft Active Accessibility 下,伺服器不需要完全實作 IDispatch 的方法,但只能在初始化任何 out 參數之後傳回E_NOTIMPL,如下列範例所示。
HRESULT STDMETHODCALLTYPE AccServer::GetTypeInfoCount(UINT* pctinfo)
{
*pctinfo = 0;
return E_NOTIMPL;
};