Метод IAccessible::get_accChild (oleacc.h)

Метод IAccessible::get_accChild извлекает IDispatch для указанного дочернего элемента, если он существует. Все объекты должны поддерживать это свойство.

Синтаксис

HRESULT get_accChild(
  [in]          VARIANT   varChild,
  [out, retval] IDispatch **ppdispChild
);

Параметры

[in] varChild

Тип: VARIANT

Определяет дочерний элемент, чей интерфейс IDispatch извлекается. Дополнительные сведения об инициализации VARIANT см. в разделе Использование идентификаторов дочерних элементов в параметрах.

[out, retval] ppdispChild

Тип: IDispatch**

[out, retval] Получает адрес интерфейса IDispatch дочернего объекта.

Возвращаемое значение

Тип: HRESULT

Возвращает значение S_OK, если операция завершилась успешно.

В случае успеха возвращает одно из значений в следующей таблице или другой стандартный код ошибки COM. Серверы возвращают эти значения, но клиенты должны всегда проверка выходные параметры, чтобы убедиться, что они содержат допустимые значения. Дополнительные сведения см. в разделе Проверка возвращаемых значений IAccessible.

Ошибка Описание
S_FALSE
Дочерний объект не является доступным объектом.
E_INVALIDARG
Аргумент является недопустимым.

Комментарии

Серверы предоставляют элементы как элементы (дочерние идентификаторы) или полные объекты (указатели интерфейса IAccessible ). Если дочерний элемент является элементом, get_accChild возвращает S_FALSE, а родительский элемент предоставляет сведения для этого дочернего элемента. Если дочерний объект является полным объектом, get_accChild вернет указатель интерфейса IAccessible , а родительский объект не предоставит сведения об этом дочернем элементе. Если get_accChild завершается сбоем из-за того, что серверное приложение не может создать доступный объект из-за временной системной ошибки (например, ошибки нехватки памяти), сервер должен вернуть подходящий код сбоя.

Обратите внимание на то, что разработчики серверов: Если varChildID содержит VT_EMPTY, необходимо вернуть E_INVALIDARG.

Пример сервера

В следующем примере кода показана реализация объекта, у которого нет дочерних элементов или дочерние элементы которого являются элементами, а не объектами.

HRESULT STDMETHODCALLTYPE AccServer::get_accChild( 
    VARIANT varChild,
    IDispatch **ppdispChild)
{
    if (varChild.vt != VT_I4)
    {
        *ppdispChild = NULL;
        return E_INVALIDARG;
    }
    *ppdispChild = NULL;    
    return S_FALSE;     
};

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header oleacc.h
Библиотека Oleacc.lib
DLL Oleacc.dll
Распространяемые компоненты Активные специальные возможности 1.3 RDK в Windows NT 4.0 с пакетом обновления 6 (SP6) и более поздних версий и Windows 95

См. также раздел

AccessibleChildren

IAccessible

IAccessible::get_accParent

IDispatch

Свойства и методы навигации по объектам

ВАРИАНТ