上下文外挂钩函数

以下列表概述了上下文外挂钩函数的关键方面:

  • 上下文外挂钩函数位于客户端的地址空间中,无论是在代码正文中还是 DLL 中。
  • 上下文外挂钩函数不会映射到服务器的地址空间。
  • 触发事件时,挂钩函数的参数会跨进程边界封送。
  • 由于封送处理,上下文外挂钩函数明显慢于上下文挂钩函数。
  • 系统将事件通知排到队列,以便异步到达(因为执行封送处理所需的时间)。

尽管事件通知是异步的,但 Microsoft Active Accessibility 可确保回调函数按照生成事件的顺序接收所有事件。

作系统的 USER 组件为由上下文外挂钩函数处理的事件分配内存。 挂钩函数返回时释放内存。 如果挂钩函数处理事件的速度不够快,则用户资源会降低,最终导致故障或响应时间极慢。 如果出现以下情况,可能会出现以下问题:

  • 事件非常迅速地触发。
  • 系统速度缓慢。
  • 挂钩函数慢慢处理事件。
  • 客户端在 Windows 9x 上运行。