Partager via


Que sont les objets proxy ?

Un objet proxy agit comme intermédiaire entre le client et un objet accessible. L’objectif de l’objet proxy est de surveiller la durée de vie de l’objet accessible et de transférer les appels à l’objet accessible uniquement s’il n’est pas détruit.

Lorsqu’un client appelle une propriété IAccessible pour obtenir des informations sur un objet, l’objet proxy doit case activée si l’objet accessible est toujours disponible. Si tel est le cas, l’objet proxy transmet la demande du client à l’objet accessible. Si l’objet accessible est détruit (par exemple, lorsqu’une boîte de dialogue avec des contrôles personnalisés est fermée), l’objet proxy retourne une erreur. Pour indiquer que l’objet a été détruit, il est recommandé que les serveurs retournent le code d’erreur CO_E_OBJNOTCONNECTED , car cette erreur est retournée par le modèle COM (Component Object Model) après qu’un serveur a appelé CoDisconnectObject.

L’objet proxy est transparent pour le client. Lorsque le client appelle AccessibleObjectFromEvent, AccessibleObjectFromPoint ou AccessibleObjectFromWindow, il reçoit en retour un pointeur vers une interface IAccessible . Toutefois, lorsque le client utilise ce pointeur pour appeler l’une des propriétés ou méthodes IAccessible , le code qui est exécuté se trouve dans l’objet proxy.