Comment gérer WM _ GETOBJECT
Lorsqu’il reçoit un message WM de la fonction _ GETOBJECT qui contient le _ client objid, le serveur doit retourner un pointeur vers l’objet qui implémente IAccessible. Ce pointeur est un LRESULT obtenu en appelant LresultFromObject. Microsoft Active Accessibility, conjointement avec la bibliothèque COM (Component Object Model), effectue le marshaling approprié et passe le pointeur d’interface IAccessible du serveur au client.
Les serveurs doivent gérer correctement le décompte de références sur l’objet accessible. N’oubliez pas que lorsque vous créez un objet COM, le nombre de références est 1. LresultFromObject incrémente ensuite le nombre de références plusieurs fois. Toutes les références créées par LresultFromObject sont automatiquement libérées quand l’objet n’est plus nécessaire, mais que le serveur est responsable de la libération de la référence initiale et, à moins qu’elle le fasse, l’objet ne sera jamais détruit. Les exemples des sections suivantes montrent comment libérer des références aux objets accessibles.
En général, les serveurs gèrent WM _ GETOBJECT de l’une des manières suivantes :
- Créer des objets accessibles
- Réutiliser des pointeurs existants vers des objets
- Créer des interfaces vers le même objet
Notes
Dans cette section, comme dans le reste de la documentation, lorsqu’un pointeur vers une interface IAccessible est abordé, ce pointeur peut en fait être un pointeur vers un objet proxy qui encapsule l’interface IAccessible . Pour plus d’informations sur les objets proxy, consultez création d’objets proxy.
Pour obtenir une vue d’ensemble de WM _ GetObject, consultez fonctionnement de WM _ GetObject.