Como lidar com WM_GETOBJECT

Quando ele recebe uma mensagem WM_GETOBJECT que contém OBJID_CLIENT, o servidor deve retornar um ponteiro para o objeto que implementa IAccessible. Esse ponteiro é um LRESULT obtido chamando LresultFromObject. A Acessibilidade Ativa da Microsoft, em conjunto com a biblioteca COM (Component Object Model), executa o marshaling apropriado e passa o ponteiro da interface IAccessible do servidor para o cliente.

Os servidores devem lidar corretamente com a contagem de referências no objeto acessível. Lembre-se de que, quando você cria um objeto COM, a contagem de referência é 1. LresultFromObject incrementa ainda mais a contagem de referências várias vezes. Todas as referências criadas por LresultFromObject são liberadas automaticamente quando o objeto não é mais necessário, mas o servidor é responsável por liberar a referência inicial e, a menos que o faça, o objeto nunca será destruído. Os exemplos nas seções a seguir mostram como liberar referências a objetos acessíveis.

Os servidores normalmente lidam com WM_GETOBJECT de uma das seguintes maneiras:

Observação

Nesta seção, como no restante da documentação, quando um ponteiro para uma interface IAccessible é discutido, esse ponteiro pode realmente ser um ponteiro para um objeto proxy que encapsula a interface IAccessible . Para obter mais informações sobre objetos proxy, consulte Criando objetos proxy.

 

Para obter uma visão geral de WM_GETOBJECT, consulte Como WM_GETOBJECT funciona.