Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zarówno usługa Microsoft Active Accessibility, jak i Microsoft UI Automation wysyłają komunikat WM_GETOBJECT do serwera lub aplikacji dostawcy w celu pobrania informacji o dostępnym obiekcie obsługiwanym przez serwer lub dostawcę. Klienci nigdy nie wysyłają WM_GETOBJECT bezpośrednio. Zamiast tego usługa Microsoft Active Accessibility wysyła ten komunikat, gdy klient wywołuje funkcje AccessibleObjectFromPoint, AccessibleObjectFromEventi AccessibleObjectFromWindow. Automatyzacja interfejsu użytkownika wysyła WM_GETOBJECT, gdy klient wywołuje IUIAutomation::ElementFromHandle, ElementFromPoint, GetFocusedElementoraz podczas obsługi zdarzeń, dla których zarejestrowano klienta.
Microsoft Active Accessibility or UI Automation określa typ obiektu, dla który potrzebuje informacji, przekazując wartość o nazwie identyfikator obiektu komunikatem WM_GETOBJECT. Po odebraniu komunikatu serwer lub dostawca sprawdza identyfikator obiektu w celu określenia sposobu reagowania na komunikat. Odpowiedź zależy od tego, czy odbierana aplikacja implementuje usługę Microsoft Active Accessibility (serwer), automatyzację interfejsu użytkownika (dostawcę) lub żadną z nich dla określonego obiektu.
- Jeśli aplikacja odbierająca jest serwerem Microsoft Active Accessibility, a komunikat WM_GETOBJECT zawiera identyfikator obiektu OBJID_CLIENT, serwer powinien zwrócić wartość uzyskaną przez przekazanie interfejsu IAccessible obiektu do funkcji LresultFromObject.
- Jeśli aplikacja odbierająca jest dostawcą automatyzacji interfejsu użytkownika, a identyfikatorem obiektu jest UiaRootObjectId, dostawca powinien zwrócić interfejs IRawElementProviderSimple obiektu. Dostawca uzyskuje interfejs przez wywołanie funkcji UiaReturnRawElementProvider.
- Jeśli odbierana aplikacja nie implementuje ani usługi Microsoft Active Accessibility, ani automatyzacji interfejsu użytkownika, powinna przekazać komunikat WM_GETOBJECT do funkcji DefWindowProc. Przekazywanie komunikatu umożliwia strukturze ułatwień dostępu określenie, czy serwer proxy jest dostępny dla określonego obiektu.
- Jeśli identyfikator obiektu nie jest ani OBJID_CLIENT, ani UiaRootObjectId, aplikacja odbierająca powinna przekazać komunikat WM_GETOBJECT do funkcji DefWindowProc. Przekazywanie komunikatu umożliwia platformie ułatwień dostępu używanie domyślnych dostawców dla standardowych elementów interfejsu użytkownika.
Usługa Microsoft Active Accessibility and UI Automation może przekazywać identyfikatory obiektów niestandardowych w komunikacie WM_GETOBJECT w celu pobrania wartości lub obiektów zdefiniowanych przez aplikację z serwera lub dostawcy. Identyfikator obiektu OBJID_NATIVEOM lub OBJID_QUERYCLASSNAMEIDX może służyć do pobierania natywnego interfejsu modelu obiektów lub żądania określonego obiektu proxy obsługiwanego przez Oleacc.dll.
Dzięki obsłudze zarówno identyfikatorów obiektów OBJID_CLIENT, jak i UiaRootObjectId, implementacja serwera dostępności Microsoft Active Accessibility może współistnieć wraz z implementacją dostawcy automatyzacji interfejsu użytkownika. Ponieważ większość standardowych kontrolek systemu Windows i wspólnych kontrolek implementowanych przez wspólną bibliotekę kontrolek (ComCtl32.dll) nie implementuje funkcji Microsoft Active Accessibility lub Automatyzacja interfejsu użytkownika, te kontrolki zwykle nie obsługują komunikatu WM_GETOBJECT. Zamiast tego platforma Microsoft Active Accessibility lub UI Automation sprawdza, czy obiekt proxy jest dostępny dla określonego elementu interfejsu użytkownika. W przeciwnym razie udostępnia domyślny obiekt serwera proxy dla hostowanego okna.