IRawElementProviderWindowlessSite::GetAdjacentFragment 메서드(uiautomationcore.h)
이 컨트롤 사이트에서 소유한 창 없는 Microsoft ActiveX 컨트롤에 인접한 조각에 대한 조각 포인터를 검색합니다.
통사론
HRESULT GetAdjacentFragment(
[in] NavigateDirection direction,
[out, retval] IRawElementProviderFragment **ppParent
);
매개 변수
[in] direction
검색할 인접한 조각(부모, 다음 형제, 이전 형제 등)을 나타내는 값입니다.
[out, retval] ppParent
형식: IRawElementProviderFragment**
인접한 조각을 받습니다.
반환 값
형식: HRESULT
이 메서드가 성공하면 S_OK 반환합니다. 그렇지 않으면 HRESULT 오류 코드를 반환합니다. 방향이 NavigateDirection_FirstChild 또는 NavigateDirection_LastChild이 메서드에 유효하지 않은 경우 반환 값이 E_INVALIDARG. 요청된 방향에 인접한 조각이 없으면 메서드는 S_OK 반환하고
발언
조각의 부모를 반환하려면 IRawElementProviderFragment 인터페이스를 구현하는 개체가 Navigate 메서드를 구현할 수 있어야 합니다. 컨트롤이 부모 개체의 액세스 가능한 트리에서 위치를 확인할 수 없으므로 창 없는 ActiveX 컨트롤에서는 Navigate 구현하기가 어렵습니다. GetAdjacentFragment 메서드를 사용하면 창 없는 ActiveX 컨트롤에서 인접한 조각에 대한 사이트를 쿼리한 다음 해당 조각을 Navigate호출한 클라이언트로 반환할 수 있습니다.
공급자는 일반적으로 IRawElementProviderFragment::Navigate 메서드를
예제
다음 C++ 코드 예제에서는 GetAdjacentFragment 메서드를 구현하는 방법을 보여줍니다.
IFACEMETHODIMP CProviderWindowlessSite::GetAdjacentFragment(
enum NavigateDirection direction, IRawElementProviderFragment **ppFragment)
{
if (ppFragment == NULL)
{
return E_INVALIDARG;
}
*ppFragment = NULL;
HRESULT hr = S_OK;
switch (direction)
{
case NavigateDirection_Parent:
{
IRawElementProviderSimple *pSimple = NULL;
// Call an application-defined function to retrieve the
// parent provider interface.
hr = GetParentProvider(&pSimple);
if (SUCCEEDED(hr))
{
// Get the parent's IRawElementProviderFragment interface.
hr = pSimple->QueryInterface(IID_PPV_ARGS(ppFragment));
pSimple->Release();
}
}
break;
case NavigateDirection_FirstChild:
case NavigateDirection_LastChild:
hr = E_INVALIDARG;
break;
// Ignore NavigateDirection_NextSibling and NavigateDirection_PreviousSibling
// because there are no adjacent fragments.
default:
break;
}
return hr;
}
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | uiautomationcore.h(UIAutomation.h 포함) |