Udostępnij za pośrednictwem


Funkcje punktów zaczepienia poza kontekstem

Na poniższej liście przedstawiono kluczowe aspekty funkcji punktów zaczepienia poza kontekstem:

  • Funkcje punktów zaczepienia poza kontekstem znajdują się w przestrzeni adresowej klienta, niezależnie od tego, czy znajduje się ona w treści kodu, czy w dll.
  • Funkcje punktów zaczepienia poza kontekstem nie są mapowane na przestrzeń adresową serwera.
  • Po wyzwoleniu zdarzenia parametry funkcji zaczepienia są marshalowane przez granice procesu.
  • Funkcje punktów zaczepienia poza kontekstem są znacznie wolniejsze niż funkcje zaczepienia w kontekście z powodu marshalingu.
  • System kolejkuje powiadomienia o zdarzeniach tak, aby dotarły asynchronicznie (ze względu na czas wymagany do przeprowadzenia marshalingu).

Mimo że powiadomienia o zdarzeniach są asynchroniczne, funkcja Microsoft Active Accessibility zapewnia, że funkcja wywołania zwrotnego odbiera wszystkie zdarzenia w kolejności, w której są generowane.

Składnik USER systemu operacyjnego przydziela pamięć dla zdarzeń obsługiwanych przez funkcje zaczepienia poza kontekstem. Pamięć jest zwalniana po powrocie funkcji haka. Jeśli funkcja haka nie przetwarza zdarzeń wystarczająco szybko, zasoby użytkownika są obniżane, ostatecznie powodując błąd lub bardzo powolne czasy odpowiedzi. Te problemy mogą wystąpić, jeśli:

  • Zdarzenia są wyzwalane bardzo szybko.
  • System działa wolno.
  • Funkcja hook przetwarza zdarzenia powoli.
  • Klient jest uruchomiony w systemie Windows 9x.