İstemci/Sunucu İletişimi
WinEvents mekanizması, sunucuların Microsoft Etkin Erişilebilirlik istemcileri ile kolayca iletişim kurması için bir yol sağlar. İstemciler genellikle WinEvents'e tepki vererek (örneğin, odağı takip ederek) bilgi toplar, ancak istedikleri zaman bir sunucudan bilgi isteyebilirler.
WinEvent oluşturan erişilebilir bir nesne için bilgi istemek için istemcinin olayı işlemesi ve ilgili erişilebilir nesneyle bağlantı kurması gerekir. Bunu yapmak için istemci aşağıdaki altı adımı gerçekleştirir:
- Sunucu, kullanıcı arabirimi öğelerinde yapılan her değişiklik için bir WinEvent bildirimi oluşturmak üzere NotifyWinEvent çağırır.
- USER içindeki WinEvent yönetim kodu, herhangi bir istemci uygulamasının SetWinEventHook kullanarakWinEventkanca işlevi kaydedip kaydetmediğini belirler ve kayıtlı geri çağırma işlevini çağırır.
- Geri çağırma işlevinde istemci, AccessibleObjectFromEvent veya diğer erişilebilir nesne alma işlevlerini çağırarak olayı oluşturan nesneye erişim ister. Daha fazla bilgi için bkz. IAccessible Nesnesi Alma.
- Bu Microsoft Etkin Erişilebilirlik API'si, sunucu uygulamasına erişilebilir nesneyi almak için WM_GETOBJECT bir ileti gönderir.
- WM_GETOBJECTyanıt olarak, sunucu uygulaması sıfır döndürür veya olayı oluşturan nesneye tek seferlik başvuru işlevi gören bir değer döndürür.
- Sunucu sıfır döndürürse, Microsoft Etkin Erişilebilirlik bir proxy nesnesi oluşturur ve adresini istemciye verir. Aksi takdirde, Microsoft Active Accessibility IAccessible veya IDispatchgibi bir nesne arabiriminin adresini almak için bu başvuruyu kullanır ve bu adresi istemciye verir.
İstemcinin bir arabirim adresi olduğunda, bilgileri almak için erişilebilir nesnenin IAccessible özelliklerini ve yöntemlerini çağırabilir.
Bu bölümde
- WinEvents ve Etkin Erişilebilirlik
- WM_GETOBJECT nasıl çalışır
- Erişilemez Nesne Alma