Compartir a través de


¿Qué son los objetos proxy?

Un objeto proxy actúa como intermediario entre el cliente y un objeto accesible. El propósito del objeto proxy es supervisar el período de vida del objeto accesible y reenviar llamadas al objeto accesible solo si no se destruye.

Cuando un cliente llama a una propiedad IAccessible para obtener información sobre un objeto, el objeto proxy debe comprobar si el objeto accesible sigue estando disponible. Si es así, el objeto proxy pasa la solicitud del cliente al objeto accesible. Si el objeto accesible se destruye (por ejemplo, cuando se cierra un cuadro de diálogo con controles personalizados), el objeto proxy devuelve un error. Para indicar que el objeto se ha destruido, se recomienda que los servidores devuelvan el código de error CO_E_OBJNOTCONNECTED porque este error lo devuelve el Modelo de objetos componentes (COM) después de que un servidor llame a CoDisconnectObject.

El objeto proxy es transparente para el cliente. Cuando el cliente llama a AccessibleObjectFromEvent, AccessibleObjectFromPoint o AccessibleObjectFromWindow, recibe un puntero a una interfaz IAccessible . Sin embargo, cuando el cliente usa este puntero para llamar a cualquiera de las propiedades o métodos IAccessible , el código que se ejecuta está dentro del objeto proxy.