Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Разработчики серверов должны предоставить стандартный интерфейс объектной модели компонентов (COM) IDispatch для своих доступных объектов. Интерфейс IDispatch позволяет клиентским приложениям, написанным на Microsoft Visual Basic, и различным языкам сценариев использовать методы и свойства, предоставляемые I Access. Так как доступный объект предоставляет доступ к объекту либо косвенно через IDispatch::Invoke, либо напрямую с I Access, он, как говорят, имеет двойной интерфейс.
Когда клиенты C/C++ возвращают указатель интерфейса IDispatch, клиенты могут вызывать QueryInterface, чтобы попытаться преобразовать указатель интерфейса IDispatch в указатель интерфейса IDispatch на указатель интерфейса IDispatch на указатель интерфейса IAccess. Чтобы вызвать методы IAccess косвенно, клиенты C/C++ вызывают IDispatch::Invoke. Чтобы повысить производительность, вызовите методы IAccessible напрямую для использования объекта.
Список идентификаторов и идентификаторов отправки (DISPID), которые IDispatch используются для идентификации методов и свойств недоступности, см. в приложении C: IAccessible DISPIDs.
Заметка
В версии 2.0 и более поздних версий Microsoft Active Accessibility серверы не должны полностью реализовать методы IDispatch, но могут просто вернуть E_NOTIMPL после инициализации всех параметров, как показано в следующем примере.
HRESULT STDMETHODCALLTYPE AccServer::GetTypeInfoCount(UINT* pctinfo)
{
*pctinfo = 0;
return E_NOTIMPL;
};