Condividi tramite


Funzione AccessibleObjectFromEvent (oleacc.h)

Recupera l'indirizzo dell'interfaccia IAccessible per l'oggetto che ha generato l'evento attualmente elaborato dalla funzione hook dell'evento del client.

Sintassi

HRESULT AccessibleObjectFromEvent(
  [in]  HWND        hwnd,
  [in]  DWORD       dwId,
  [in]  DWORD       dwChildId,
  [out] IAccessible **ppacc,
  [out] VARIANT     *pvarChild
);

Parametri

[in] hwnd

Tipo: HWND

Specifica l'handle della finestra che ha generato l'evento. Questo valore deve essere l'handle della finestra inviato alla funzione hook dell'evento.

[in] dwId

Tipo: DWORD

Specifica l'ID oggetto dell'oggetto che ha generato l'evento. Questo valore deve essere l'ID oggetto inviato alla funzione hook dell'evento.

[in] dwChildId

Tipo: DWORD

Specifica se l'evento è stato attivato da un oggetto o da uno dei relativi elementi figlio. Se l'oggetto ha attivato l'evento, dwChildID viene CHILDID_SELF. Se un elemento figlio ha attivato l'evento, dwChildID è l'ID figlio dell'elemento. Questo valore deve essere l'ID figlio inviato alla funzione hook dell'evento.

[out] ppacc

Tipo: IAccessible**

Indirizzo di una variabile puntatore che riceve l'indirizzo di un'interfaccia IAccessible . L'interfaccia è per l'oggetto che ha generato l'evento o per l'elemento padre dell'elemento che ha generato l'evento.

[out] pvarChild

Tipo: VARIANT*

Indirizzo di una struttura VARIANT che specifica l'ID figlio che può essere usato per accedere alle informazioni sull'elemento dell'interfaccia utente.

Valore restituito

Tipo: STDAPI

Se ha esito positivo, restituisce S_OK.

Se l'operazione non riesce, restituisce uno dei codici di errore COM seguenti o un altro codice di errore STANDARD.

Codice restituito Descrizione
E_INVALIDARG
Un argomento non è valido.

Commenti

I client chiamano questa funzione all'interno di una funzione hook di eventi per ottenere un puntatore all'interfaccia IAccessible all'oggetto che ha generato l'evento o all'elemento padre dell'elemento che ha generato l'evento. I parametri inviati alla funzione di callback WinEventProc devono essere usati per i parametri hwnd, dwObjectID e dwChildID di questa funzione.

Questa funzione recupera l'oggetto accessibile di livello più basso nella gerarchia di oggetti associata a un evento. Se l'elemento che ha generato l'evento non è un oggetto accessibile, ovvero non supporta IAccessible, la funzione recupera l'interfaccia IAccessible dell'oggetto padre. L'oggetto padre deve fornire informazioni sull'elemento figlio tramite l'interfaccia IAccessible .

Come con altri metodi e funzioni IAccessible , i client potrebbero ricevere errori per i puntatori di interfaccia IAccessible a causa di un'azione dell'utente. Per altre informazioni, vedere Ricezione di errori per puntatori di interfaccia IAccessible.

Questa funzione ha esito negativo se viene chiamato in risposta a EVENT_OBJECT_CREATE perché l'oggetto non è completamente inizializzato. Analogamente, i client non devono chiamarlo in risposta a EVENT_OBJECT_DESTROY perché l'oggetto non è più disponibile e non può rispondere. I client watch per eventi EVENT_OBJECT_SHOW e EVENT_OBJECT_HIDE anziché per EVENT_OBJECT_CREATE e EVENT_OBJECT_DESTROY.

Esempio

Il codice di esempio seguente mostra questo metodo chiamato in un gestore eventi WinEventProc .


void CALLBACK HandleWinEvent(HWINEVENTHOOK hook, DWORD event, HWND hwnd, 
                             LONG idObject, LONG idChild, 
                             DWORD dwEventThread, DWORD dwmsEventTime)
{
    IAccessible* pAcc = NULL;
    VARIANT varChild;
    HRESULT hr = AccessibleObjectFromEvent(hwnd, idObject, idChild, &pAcc, &varChild);  
    if ((hr == S_OK) && (pAcc != NULL))
    {
        // Do something with the accessible object, then release it.        
        // ... 
        pAcc->Release();
    }
}

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleacc.h
Libreria Oleacc.lib
DLL Oleacc.dll
Componente ridistribuibile Accessibilità attiva 1.3 RDK in Windows NT 4.0 con SP6 e versioni successive e Windows 95

Vedi anche

AccessibleObjectFromPoint

AccessibleObjectFromWindow

Iaccessible

VARIANTE

WinEventProc