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,並將 ppRetVal 設定為 NULL。
言論
若要傳回片段的父代,實作
提供者通常會呼叫這個方法,作為處理 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 應用程式] |
目標平臺 | 窗戶 |
標頭 | uiautomationcore.h (包括 UIAutomation.h) |