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 par le biais duquel 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 au sein de l’application appropriée. Pour fournir des informations aux clients, les serveurs doivent répondre au message WM de _ 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 un objet IAccessible d’un élément, les clients peuvent utiliser l’une des fonctions suivantes :

Pour récupérer un pointeur d’interface IAccessible

  1. Le client appelle l’une des fonctions AccessibleObjectFromX .

  2. Oleacc.dll envoie un message WM de la fonction _ GETOBJECT au serveur.

  3. Le serveur détermine l’élément d’interface utilisateur qui correspond à la demande.

  4. Le serveur retourne la valeur 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 la LRESULT à Oleacc.dll.
  5. Oleacc.dll examine la valeur renvoyée par WM _ GETOBJECT.

    Si la valeur est égale à zéro, Oleacc.dll construit un objet proxy et le retourne au client.

    ou

    Si la valeur est différente de zéro, Oleacc.dll appelle ObjectFromLresult pour démarshaler le pointeur d’objet IAccessible natif et le retourne au client.