Jak zpracovat WM_GETOBJECT
Když obdrží WM_GETOBJECT zprávu, která obsahuje OBJID_CLIENT, server musí vrátit ukazatel na objekt, který implementuje IAccessible. Tento ukazatel je LRESULT, který je získán voláním LresultFromObject. Microsoft Active Accessibility prostřednictvím knihovny komponentního objektového modelu (COM) provádí odpovídající marshaling a předává ukazatel rozhraní IAccessible ze serveru klientovi.
Servery musí správně zpracovávat počítání odkazů na přístupný objekt. Mějte na paměti, že při vytváření objektu COM je počet odkazů 1. LresultFromObject pak počet odkazů několikrát zvýší. Všechny odkazy vytvořené LresultFromObject se automaticky uvolní v případě, že objekt už není potřeba, ale server je zodpovědný za uvolnění počátečního odkazu, a pokud tak neučiní, objekt se nikdy nezničí. Příklady v následujících částech ukazují, jak uvolnit odkazy na přístupné objekty.
Servery obvykle zpracovávají WM_GETOBJECT jedním z následujících způsobů:
- vytvoření nových přístupných objektů
- znovu použít existující ukazatele na objekty
- vytvořit nová rozhraní pro stejný objekt
Poznámka
V této části, stejně jako ve zbytku dokumentace, když se diskutuje o ukazateli na rozhraní IAccessible, tento ukazatel může být ve skutečnosti ukazatelem na proxy objekt, který obaluje rozhraní IAccessible. Další informace o objektech proxy naleznete v tématu Vytváření objektů proxy.
Přehled WM_GETOBJECTnajdete v tématu Jak WM_GETOBJECT funguje.