IRawElementProviderFragment::GetRuntimeId 方法 (uiautomationcore.h)

检索元素的运行时标识符。

语法

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

参数

[out, retval] pRetVal

类型: SAFEARRAY**

接收指向运行时标识符的指针。 此参数未经初始化即被传递。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

对于在窗口中托管的顶级元素,实现应返回 NULL 。 其他元素应返回一个数组,其中包含 Uiautomationcoreapi.h) 中定义的 UiaAppendRuntimeId (,后跟片段实例中唯一的值。

示例

列表项的以下实现返回由 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
标头 uiautomationcore.h (包括 UIAutomation.h)

另请参阅

使用安全数组的最佳做法

概念性

IRawElementProviderFragment

引用