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 |
---|---|
|
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 |