Sdílet prostřednictvím


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;
};