Jak obsługiwać WM_GETOBJECT
Po odebraniu komunikatu WM_GETOBJECT zawierającego OBJID_CLIENTserwer musi zwrócić wskaźnik do obiektu implementujący IAccessible. Wskaźnik ten to LRESULT uzyskany przez wywołanie LresultFromObject. Microsoft Active Accessibility w połączeniu z biblioteką Model Obiektów Składników (COM) wykonuje odpowiednie marshalling i przekazuje wskaźnik interfejsu IAccessible z serwera do klienta.
Serwery muszą poprawnie obsługiwać liczenie odwołań do dostępnego obiektu. Pamiętaj, że podczas tworzenia obiektu COM liczba odwołań wynosi 1. LresultFromObject następnie zwiększa liczbę odwołań kilka razy. Wszystkie odwołania utworzone przez LresultFromObject są automatycznie zwalniane, gdy obiekt nie jest już potrzebny, ale serwer jest odpowiedzialny za wydanie początkowego odwołania i chyba że to zrobi, obiekt nigdy nie zostanie zniszczony. Przykłady w poniższych sekcjach pokazują, jak usunąć odwołania do dostępnych obiektów.
Serwery zwykle obsługują WM_GETOBJECT w jeden z następujących sposobów:
- utwórz nowe obiekty dostępne
- Wykorzystanie istniejących wskaźników do obiektów
- tworzenie nowych interfejsów do tego samego obiektu
Notatka
W tej sekcji jak i w pozostałej części dokumentacji, gdy mowa jest o wskaźniku do interfejsu IAccessible, ten wskaźnik może być wskaźnikiem do obiektu serwera proxy, który otacza interfejs IAccessible. Aby uzyskać więcej informacji na temat obiektów proxy, zobacz Creating Proxy Objects.
Aby zapoznać się z omówieniem WM_GETOBJECT, zobacz Jak działa WM_GETOBJECT.