다음을 통해 공유


컨텍스트 외 후크 함수

다음 목록에서는 컨텍스트 외부 후크 함수의 주요 측면을 간략하게 설명합니다.

  • 컨텍스트 외 후크 함수는 코드 본문에 있든 DLL이든 클라이언트의 주소 공간에 있습니다.
  • 컨텍스트 외 후크 함수는 서버의 주소 공간에 매핑되지 않습니다.
  • 이벤트가 트리거되면 후크 함수에 대한 매개 변수가 프로세스 경계를 넘어 마샬링됩니다.
  • 컨텍스트 외부 후크 함수는 마샬링으로 인해 컨텍스트 내 후크 함수보다 눈에 띄게 느립니다.
  • 시스템은 이벤트 알림을 큐에 대기하여 비동기적으로 도착합니다(마샬링을 수행하는 데 필요한 시간 때문에).

이벤트 알림은 비동기이지만 Microsoft Active Accessibility는 콜백 함수가 생성되는 순서대로 모든 이벤트를 수신하도록 보장합니다.

운영 체제의 USER 구성 요소는 컨텍스트 외부 후크 함수에 의해 처리되는 이벤트에 대한 메모리를 할당합니다. 후크 함수가 반환되면 메모리가 해제됩니다. 후크 함수가 이벤트를 충분히 빠르게 처리하지 못하면 사용자 리소스가 낮아지고 결국 오류 또는 매우 느린 응답 시간이 발생합니다. 다음과 같은 경우 이러한 문제가 발생할 수 있습니다.

  • 이벤트는 매우 빠르게 발생합니다.
  • 시스템이 느립니다.
  • 후크 함수는 이벤트를 천천히 처리합니다.
  • 클라이언트가 Windows 9x에서 실행 중입니다.