Duální rozhraní: IAccessible a IDispatch
Vývojáři serveru musí poskytnout standardní rozhraní modelu COM (Component Object Model) IDispatch pro jejich přístupné objekty. Rozhraní IDispatch umožňuje klientským aplikacím napsaným v jazyce Microsoft Visual Basic a různých skriptovacích jazycích používat metody a vlastnosti vystavené IAccessible. Protože přístupný objekt poskytuje přístup k objektu nepřímo prostřednictvím IDispatch::Invoke nebo přímo s IAccessible, je řečeno, že má duální rozhraní.
Když klienti C/C++ vrátí ukazatel rozhraní IDispatch, můžou klienti volat QueryInterface zkusit převést ukazatel rozhraní IDispatch na ukazatel rozhraní IAccessible rozhraní. Chcete-li volat metody IAccessible nepřímo, klienti C/C++ volají IDispatch::Invoke. Pokud chcete zvýšit výkon, zavolejte IAccessible metody pro přímé použití objektu.
Seznam ID dispečera (DISPID), které IDispatch používá k identifikaci IAccessible metody a vlastnosti, najdete v Dodatku C: IAccessible DISPID.
Poznámka
Ve verzi 2.0 a novějších verzích služby Microsoft Active Accessibility nemusí servery plně implementovat metody IDispatch, ale mohou jednoduše vrátit E_NOTIMPL po inicializaci jakýchkoli parametrů, jak je znázorněno v následujícím příkladu.
HRESULT STDMETHODCALLTYPE AccServer::GetTypeInfoCount(UINT* pctinfo)
{
*pctinfo = 0;
return E_NOTIMPL;
};