Função AccessibleObjectFromEvent (oleacc.h)
Recupera o endereço da interface IAccessible para o objeto que gerou o evento que está sendo processado pela função de gancho de evento do cliente.
Sintaxe
HRESULT AccessibleObjectFromEvent(
[in] HWND hwnd,
[in] DWORD dwId,
[in] DWORD dwChildId,
[out] IAccessible **ppacc,
[out] VARIANT *pvarChild
);
Parâmetros
[in] hwnd
Tipo: HWND
Especifica o identificador de janela da janela que gerou o evento. Esse valor deve ser o identificador de janela que é enviado para a função de gancho de evento.
[in] dwId
Tipo: DWORD
Especifica a ID do objeto que gerou o evento. Esse valor deve ser a ID do objeto que é enviada para a função de gancho de evento.
[in] dwChildId
Tipo: DWORD
Especifica se o evento foi disparado por um objeto ou um de seus elementos filho. Se o objeto disparou o evento, dwChildID será CHILDID_SELF. Se um elemento filho disparou o evento, dwChildID será a ID filho do elemento. Esse valor deve ser a ID filho que é enviada para a função de gancho de evento.
[out] ppacc
Tipo: IAccessible**
Endereço de uma variável de ponteiro que recebe o endereço de uma interface IAccessible . A interface é para o objeto que gerou o evento ou para o pai do elemento que gerou o evento.
[out] pvarChild
Tipo: VARIANT*
Endereço de uma estrutura VARIANT que especifica a ID filho que pode ser usada para acessar informações sobre o elemento de interface do usuário.
Retornar valor
Tipo: STDAPI
Se for bem-sucedido, retornará S_OK.
Se não for bem-sucedido, retornará um dos seguintes ou outro código de erro COM padrão.
Código de retorno | Descrição |
---|---|
|
Um argumento não é válido. |
Comentários
Os clientes chamam essa função dentro de uma função de gancho de evento para obter um ponteiro de interface IAccessible para o objeto que gerou o evento ou para o pai do elemento que gerou o evento. Os parâmetros enviados para a função de retorno de chamada WinEventProc devem ser usados para os parâmetros hwnd, dwObjectID e dwChildID dessa função.
Essa função recupera o objeto acessível de nível mais baixo na hierarquia de objetos associada a um evento. Se o elemento que gerou o evento não for um objeto acessível (ou seja, não dá suporte a IAccessible), a função recuperará a interface IAccessible do objeto pai. O objeto pai deve fornecer informações sobre o elemento filho por meio da interface IAccessible .
Assim como acontece com outros métodos e funções IAccessible , os clientes podem receber erros para ponteiros de interface IAccessible devido a uma ação do usuário. Para obter mais informações, consulte Recebendo erros para ponteiros de interface IAccessible.
Essa função falhará se for chamada em resposta a EVENT_OBJECT_CREATE porque o objeto não está totalmente inicializado. Da mesma forma, os clientes não devem chamar isso em resposta a EVENT_OBJECT_DESTROY porque o objeto não está mais disponível e não pode responder. Os clientes watch para eventos de EVENT_OBJECT_SHOW e EVENT_OBJECT_HIDE em vez de para EVENT_OBJECT_CREATE e EVENT_OBJECT_DESTROY.
Exemplos
O código de exemplo a seguir mostra esse método sendo chamado em um manipulador de eventos 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();
}
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | oleacc.h |
Biblioteca | Oleacc.lib |
DLL | Oleacc.dll |
Redistribuível | Active Accessibility 1.3 RDK no Windows NT 4.0 com SP6 e posterior e Windows 95 |