Récupération d’un objet IAccessible
Microsoft Active Accessibility fournit des fonctions telles que AccessibleObjectFromWindow et AccessibleObjectFromPoint qui permettent aux clients de récupérer des objets accessibles. Ces fonctions retournent un pointeur d’interface IDispatch ou IAccessible via lequel les clients obtiennent des informations sur l’objet accessible.
Lorsqu’un client appelle AccessibleObjectFromWindow ou l’une des autres fonctions AccessibleObjectFromX qui récupèrent une interface vers un objet, Microsoft Active Accessibility envoie le message de fenêtre WM_GETOBJECT à la procédure de fenêtre applicable dans l’application appropriée. Pour fournir des informations aux clients, les serveurs doivent répondre au message WM_GETOBJECT .
Pour collecter des informations spécifiques sur un élément d’interface utilisateur, les clients doivent d’abord récupérer une interface IAccessible pour l’élément. Pour récupérer l’objet IAccessible d’un élément, les clients peuvent utiliser l’une des fonctions suivantes :
Pour récupérer un pointeur d’interface IAccessible
Le client appelle l’une des fonctions AccessibleObjectFromX .
Oleacc.dll envoie un message WM_GETOBJECT au serveur.
Le serveur détermine l’élément d’interface utilisateur correspondant à la demande.
Le serveur retourne zéro pour demander un proxy Oleacc.dll,
ou
Retourne un objet IAccessible (implémentation native). Pour ce faire, procédez comme suit :
- Construit un objet IAccessible pour l’élément .
- Appelle LresultFromObject pour marshaler le pointeur de l’objet.
- Retourne le LRESULT à Oleacc.dll.
Oleacc.dll examine la valeur de retour de WM_GETOBJECT.
S’il est égal à zéro, Oleacc.dll construit un objet proxy et le retourne au client.
ou
S’il est différent de zéro, Oleacc.dll appelle ObjectFromLresult pour démarshaler le pointeur d’objet IAccessible natif et le retourne au client.