Поделиться через


Метод IRawElementProviderFragment::GetRuntimeId (uiautomationcore.h)

Извлекает идентификатор среды выполнения элемента.

Синтаксис

HRESULT GetRuntimeId(
  [out, retval] SAFEARRAY **pRetVal
);

Параметры

[out, retval] pRetVal

Тип: SAFEARRAY**

Получает указатель на идентификатор среды выполнения. Этот параметр передается неинициализированным.

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Реализации должны возвращать значение NULL для элемента верхнего уровня, размещенного в окне. Другие элементы должны возвращать массив, содержащий UiaAppendRuntimeId (определенный в Uiautomationcoreapi.h), за которым следует значение, уникальное в пределах экземпляра фрагмента.

Примеры

Следующая реализация для элемента списка возвращает идентификатор среды выполнения, состоящий из константы UiaAppendRuntimeId и индекса элемента в списке.

HRESULT STDMETHODCALLTYPE ListItemProvider::GetRuntimeId(SAFEARRAY ** pRetVal)
{
    if (pRetVal == NULL) 
    {
        return E_INVALIDARG;
    }
    
    int rId[] = { UiaAppendRuntimeId, m_itemIndex };
    SAFEARRAY *psa = SafeArrayCreateVector(VT_I4, 0, 2);
    if (psa == NULL)
    {
        return E_OUTOFMEMORY;
    }
    
    for (LONG i = 0; i < 2; i++)
    {
        SafeArrayPutElement(psa, &i, (void*)&(rId[i]));
    }
    
    *pRetVal = psa;
    return S_OK;
}   

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header uiautomationcore.h (включая UIAutomation.h)

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

Рекомендации по использованию безопасных массивов

Основные понятия

IRawElementProviderFragment

Справочные материалы