Bagikan melalui


Metode IRawElementProviderWindowlessSite::GetAdjacentFragment (uiautomationcore.h)

Mengambil penunjuk fragmen untuk fragmen yang berdekatan dengan kontrol Microsoft ActiveX tanpa jendela yang dimiliki oleh situs kontrol ini.

Sintaks

HRESULT GetAdjacentFragment(
                NavigateDirection           direction,
  [out, retval] IRawElementProviderFragment **ppParent
);

Parameter

direction

[out, retval] ppParent

Jenis: IRawElementProviderFragment**

Menerima fragmen yang berdekatan.

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan. Nilai yang dikembalikan E_INVALIDARG jika arahnya NavigateDirection_FirstChild atau NavigateDirection_LastChild, yang tidak valid untuk metode ini. Jika tidak ada fragmen yang berdekatan dalam arah yang diminta, metode mengembalikan S_OK dan mengatur ppRetVal ke NULL.

Keterangan

Untuk mengembalikan induk fragmen, objek yang mengimplementasikan antarmuka IRawElementProviderFragment harus dapat mengimplementasikan metode Navigate . Menerapkan Navigate sulit untuk kontrol ActiveX tanpa jendela karena kontrol mungkin tidak dapat menentukan lokasinya di pohon objek induk yang dapat diakses. Metode GetAdjacentFragment memungkinkan kontrol ActiveX tanpa jendela untuk mengkueri situsnya untuk fragmen yang berdekatan, lalu mengembalikan fragmen tersebut ke klien yang disebut Navigasikan.

Penyedia biasanya memanggil metode ini sebagai bagian dari penanganan metode IRawElementProviderFragment::Navigate .

Contoh

Contoh kode C++ berikut menunjukkan cara menerapkan metode 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;  
}   

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header uiautomationcore.h (termasuk UIAutomation.h)

Lihat juga

IRawElementProviderWindowlessSite