다음을 통해 공유


IRawElementProviderFragment::GetRuntimeId 메서드(uiautomationcore.h)

요소의 런타임 식별자를 검색합니다.

구문

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

매개 변수

[out, retval] pRetVal

형식: SAFEARRAY**

런타임 식별자에 대한 포인터를 받습니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

구현은 창에서 호스트되는 최상위 요소에 대해 NULL 을 반환해야 합니다. 다른 요소는 UiaAppendRuntimeId(Uiautomationcoreapi.h에 정의됨)가 포함된 배열과 조각의 instance 내에서 고유한 값을 반환해야 합니다.

예제

목록 항목에 대한 다음 구현은 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

참조