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

Метод IAccessible::get_accName извлекает имя указанного объекта. Все объекты поддерживают это свойство.

Синтаксис

HRESULT get_accName(
  [in]          VARIANT varChild,
  [out, retval] BSTR    *pszName
);

Параметры

[in] varChild

Тип: VARIANT

Указывает, принадлежит ли полученное имя объекту или одному из дочерних элементов объекта. Этот параметр является либо CHILDID_SELF (для получения сведений об объекте), либо идентификатор дочернего элемента (для получения сведений о дочернем элементе объекта). Дополнительные сведения об инициализации структуры VARIANT см. в разделе Использование идентификаторов дочерних элементов в параметрах.

[out, retval] pszName

Тип: BSTR*

Адрес BSTR , получающего строку, содержащую имя указанного объекта.

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

Тип: HRESULT

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

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

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

Комментарии

Многие объекты, такие как значки, меню, поля проверка, поля со списком и другие элементы управления, имеют метки, отображаемые для пользователей. Любая метка, отображаемая для пользователей, используется для свойства имени объекта. Дополнительные сведения см. в разделе Свойство Name.

Обратите внимание на то, что разработчики серверов: Если вы используете текст меню или кнопки для свойства Name, удалите все амперсанды (&), помечающие клавиши доступа клавиатуры. Укажите ключ доступа клиенту в ответ на IAccessible::get_accKeyboardShortcut.

Локализуйте строку, возвращаемую этим свойством.

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

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

// m_pStdAccessibleObject is the standard object returned by CreateStdAccessibleObject. 
// m_pControl is the control object that provides this accessibility object. It maintains
// a zero-based collection of child items. 

HRESULT STDMETHODCALLTYPE AccServer::get_accName( 
    VARIANT varChild,
    BSTR *pszName)
{
    if (varChild.vt != VT_I4)
    {
        *pszName = NULL;
        return E_INVALIDARG;
    }
    // For the control itself, let the standard accessible object return the name 
    // assigned by the application. This is either the "caption" property or, if 
    // there is no caption, the text of any label. 
    if (varChild.lVal == CHILDID_SELF)
    {
        return m_pStdAccessibleObject->get_accName(varChild, pszName);                  
    }
    
    // Else return the name of the item in the list. 
    else
    {
        CustomListControlItem* pItem = m_pControl->GetItemAt(varChild.lVal - 1);
        if (pItem)
        {
            *pszName = SysAllocString(pItem->GetName());        
       
        }
    }
    return S_OK;
};

Пример клиента

В следующем примере функции отображается доступное имя элемента управления.

HRESULT PrintName(IAccessible* pAcc, long childId)
{
    if (pAcc == NULL)
    {
        return E_INVALIDARG;
    }
    BSTR bstrName;
    VARIANT varChild;
    varChild.vt = VT_I4;
    varChild.lVal = childId;
    HRESULT hr = pAcc->get_accName(varChild, &bstrName);
    printf("Name: %S ", bstrName);
    SysFreeString(bstrName);
    return hr;
}

Требования

Требование Значение
Минимальная версия клиента 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

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

IAccessible

IAccessible::get_accKeyboardShortcut

Свойство Name

ВАРИАНТ