Функции перехватчика вне контекста
В следующем списке описываются ключевые аспекты функций перехватчика вне контекста:
- Функции перехватчика вне контекста находятся в адресном пространстве клиента, будь то в тексте кода или в библиотеке DLL.
- Функции перехватчика вне контекста не сопоставляются с адресным пространством сервера.
- При активации события параметры функции перехватчика маршалируются по границам процесса.
- Функции перехватчика вне контекста заметно медленнее, чем функции перехватчика в контексте из-за маршалинга.
- Система очереди уведомлений о событиях таким образом, чтобы они прибыли асинхронно (из-за времени, необходимого для маршалинга).
Хотя уведомления о событиях асинхронны, Microsoft Active Accessibility гарантирует, что функция обратного вызова получает все события в порядке их создания.
Компонент USER операционной системы выделяет память для событий, обрабатываемых функциями перехватчика вне контекста. Память освобождается при возврате функций перехватчика. Если функция перехватчика не обрабатывает события достаточно быстро, ресурсы ПОЛЬЗОВАТЕЛЯ снижаются, в конечном итоге приводит к сбою или крайне медленному времени отклика. Эти проблемы могут возникнуть, если:
- События запускаются очень быстро.
- Система медленна.
- Функция перехватчика медленно обрабатывает события.
- Клиент работает в Windows 9x.