Share via


Método IRawElementProviderFragment::GetRuntimeId (uiautomationcore.h)

Recupera el identificador en tiempo de ejecución de un elemento.

Sintaxis

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

Parámetros

[out, retval] pRetVal

Tipo: SAFEARRAY**

Recibe un puntero al identificador en tiempo de ejecución. Este parámetro se pasa sin inicializar.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Las implementaciones deben devolver NULL para un elemento de nivel superior hospedado en una ventana. Otros elementos deben devolver una matriz que contenga UiaAppendRuntimeId (definida en Uiautomationcoreapi.h), seguida de un valor único dentro de una instancia del fragmento.

Ejemplos

La siguiente implementación de un elemento de lista devuelve un identificador en tiempo de ejecución formado por la constante UiaAppendRuntimeId y el índice del elemento dentro de la lista.

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;
}   

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado uiautomationcore.h (incluir UIAutomation.h)

Consulte también

Procedimientos recomendados para usar matrices seguras

Conceptual

IRawElementProviderFragment

Referencia