IRawElementProviderWindowlessSite::GetAdjacentFragment-Methode (uiautomationcore.h)
Ruft einen Fragmentzeiger für ein Fragment ab, das an das fensterlose Microsoft ActiveX-Steuerelement an dieser Steuerelementwebsite angrenzt.
Syntax
HRESULT GetAdjacentFragment(
NavigateDirection direction,
[out, retval] IRawElementProviderFragment **ppParent
);
Parameter
direction
[out, retval] ppParent
Typ: IRawElementProviderFragment**
Empfängt das benachbarte Fragment.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben. Der Rückgabewert wird E_INVALIDARG, wenn die Richtung NavigateDirection_FirstChild oder NavigateDirection_LastChild ist, die für diese Methode nicht gültig sind. Wenn kein angrenzendes Fragment in der angeforderten Richtung vorhanden ist, gibt die Methode S_OK zurück und legt ppRetVal auf NULL fest.
Hinweise
Um das übergeordnete Element des Fragments zurückzugeben, muss ein Objekt, das die IRawElementProviderFragment-Schnittstelle implementiert, in der Lage sein, die Navigate-Methode zu implementieren. Die Implementierung von Navigate ist für ein fensterloses ActiveX-Steuerelement schwierig, da das Steuerelement möglicherweise nicht in der Lage ist, seinen Speicherort in der Zugriffsstruktur des übergeordneten Objekts zu bestimmen. Die GetAdjacentFragment-Methode ermöglicht es dem fensterlosen ActiveX-Steuerelement, seinen Standort nach dem angrenzenden Fragment abzufragen und dieses Fragment dann an den Client zurückzugeben, der Navigate aufgerufen hat.
Ein Anbieter ruft diese Methode normalerweise im Rahmen der Behandlung der IRawElementProviderFragment::Navigate-Methode auf.
Beispiele
Das folgende C++-Codebeispiel zeigt, wie die GetAdjacentFragment-Methode implementiert wird .
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;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | uiautomationcore.h (include UIAutomation.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für