Abrufen eines IAccessible-Objekts
Microsoft Active Accessibility bietet Funktionen wie AccessibleObjectFromWindow und AccessibleObjectFromPoint , mit denen Clients barrierefreie Objekte abrufen können. Diese Funktionen geben entweder einen IDispatch - oder IAccessible-Schnittstellenzeiger zurück, über den Clients Informationen über das barrierefreie Objekt erhalten.
Wenn ein Client AccessibleObjectFromWindow oder eine der anderen AccessibleObjectFromX-Funktionen aufruft, die eine Schnittstelle zu einem Objekt abrufen, sendet Microsoft Active Accessibility die WM_GETOBJECT Fenstermeldung an die entsprechende Fensterprozedur in der entsprechenden Anwendung. Um Informationen für Clients bereitzustellen, müssen Server auf die WM_GETOBJECT-Nachricht reagieren.
Um bestimmte Informationen zu einem UI-Element zu sammeln, müssen Clients zunächst eine IAccessible-Schnittstelle für das Element abrufen. Um das IAccessible-Objekt eines Elements abzurufen, können Clients eine der folgenden Funktionen verwenden:
So rufen Sie einen IAccessible-Schnittstellenzeiger ab
Der Client ruft eine der AccessibleObjectFromX-Funktionen auf.
Oleacc.dll sendet eine WM_GETOBJECT-Nachricht an den Server.
Der Server bestimmt, welches UI-Element der Anforderung entspricht.
Der Server gibt entweder null zurück, um einen Oleacc.dll Proxy anzufordern.
oder
Gibt ein IAccessible-Objekt (native Implementierung) zurück. Gehen Sie dazu wie folgt vor:
- Erstellt ein IAccessible-Objekt für das -Element.
- Ruft LresultFromObject auf, um den Zeiger des Objekts zu marshallen.
- Gibt LRESULT an Oleacc.dll zurück.
Oleacc.dll untersucht den Rückgabewert von WM_GETOBJECT.
Wenn der Wert null ist, erstellt Oleacc.dll ein Proxyobjekt und gibt es an den Client zurück.
oder
Wenn es ungleich null ist, ruft Oleacc.dll ObjectFromLresult auf, um den nativen IAccessible-Objektzeiger aufzuheben, und gibt ihn an den Client zurück.