共用方式為


雙重介面: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;
};