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
備考
フラグメントの親を返すには、IRawElementProviderFragment インターフェイスを実装するオブジェクトが、Navigate メソッドを実装できる必要があります。 Navigate の実装は、ウィンドウレス ActiveX コントロールでは困難です。コントロールは、親オブジェクトのアクセス可能なツリー内の位置を特定できない可能性があるためです。 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 アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | uiautomationcore.h (UIAutomation.h を含む) |