Partilhar via


O que são objetos proxy?

Um proxy objeto atua como um intermediário entre o cliente e um objeto acessível. O objetivo do objeto proxy é monitorar a vida útil do objeto acessível e encaminhar chamadas para o objeto acessível somente se ele não for destruído.

Quando um cliente chama uma propriedade IAccessible para obter informações sobre um objeto, o objeto proxy deve verificar se o objeto acessível continua disponível. Se for, o objeto proxy passa a solicitação do cliente para o objeto acessível. Se o objeto acessível for destruído (por exemplo, quando uma caixa de diálogo com controles personalizados for fechada), o objeto proxy retornará um erro. Para indicar que o objeto foi destruído, é recomendável que os servidores retornem o código de erro CO_E_OBJNOTCONNECTED porque esse erro é retornado pelo Component Object Model (COM) depois que um servidor chama CoDisconnectObject.

O objeto proxy é transparente para o cliente. Quando o cliente chama AccessibleObjectFromEvent, AccessibleObjectFromPointou AccessibleObjectFromWindow, ele recebe de volta um ponteiro para uma interfaceIAccessible. No entanto, quando o cliente usa esse ponteiro para chamar qualquer um dos IAccessible propriedades ou métodos, o código que é executado está dentro do objeto proxy.