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
ヘッダー uiautomationcore.h (UIAutomation.h を含む)

関連項目

安全な配列を使用するためのベスト プラクティス

概念

IRawElementProviderFragment

参照