Metodo IRawElementProviderFragment::GetRuntimeId (uiautomationcore.h)

Recupera l'identificatore di runtime di un elemento.

Sintassi

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

Parametri

[out, retval] pRetVal

Tipo: SAFEARRAY**

Riceve un puntatore all'identificatore di runtime. Questo parametro viene passato non inizializzato.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Le implementazioni devono restituire NULL per un elemento di primo livello ospitato in una finestra. Altri elementi devono restituire una matrice contenente UiaAppendRuntimeId (definita in Uiautomationcoreapi.h), seguita da un valore univoco all'interno di un'istanza del frammento.

Esempio

L'implementazione seguente per un elemento di elenco restituisce un identificatore di runtime costituito dalla costante UiaAppendRuntimeId e dall'indice dell'elemento all'interno dell'elenco.

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

Requisiti

   
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione uiautomationcore.h (includere UIAutomation.h)

Vedi anche

Procedure consigliate per l'uso di matrici sicure

Informazioni concettuali

IRawElementProviderFragment

Riferimento