활성 접근성 API 호출

Microsoft Active Accessibility는 클라이언트와 서버 모두에 대한 API(애플리케이션 프로그래밍 인터페이스)를 제공합니다. 대부분은 Microsoft Active Accessibility 동적 연결 라이브러리 Oleacc.dll 구현되지만 NotifyWinEvent, SetWinEventHookUnhookWinEvent 는 Microsoft Windows 운영 체제의 핵심 구성 요소인 user32.dll 구현됩니다.

Windows 95 또는 Microsoft Windows NT 4.0을 실행하는 컴퓨터에는 Microsoft Active Accessibility가 단계별로 Windows의 성공 버전에 통합되었기 때문에 Oleacc.dll 및 올바른 버전의 user32.dll 설치되어 있지 않습니다. 따라서 이러한 플랫폼에서 실행되는 애플리케이션은 가져오기 라이브러리에 의존하는 대신 LoadLibrary 함수를 사용하여 런타임에 Oleacc.dll 명시적으로 연결합니다. 활성 접근성 1.3은 Windows 95 및 Microsoft Windows NT 4.0을 지원합니다. 이전 버전의 Windows는 Microsoft Active Accessibility에서 지원되지 않습니다.

서버 애플리케이션은 GetProcAddress 함수를 사용하여 Microsoft Active Accessibility 함수의 주소를 검색한 다음 함수 포인터를 통해 호출합니다. Oleacc.dll 구현된 함수를 호출하는 경우 서버 애플리케이션은 GetProcAddress 호출에서 LoadLibrary에서 반환된 핸들을 사용합니다. user32.dll 정의된 함수를 호출하는 경우 서버 애플리케이션은 "USER32"를 지정하는 GetModuleHandle 을 호출하고 GetProcAddress 호출에서 반환된 모듈 핸들을 사용합니다.

예를 들어 애플리케이션이 NotifyWinEvent를 사용하는 경우 user32.dll 모듈 핸들을 사용하여 GetProcAddress 를 호출하여 함수의 주소를 가져옵니다. 호출이 성공하면(이 버전의 Windows에서 Microsoft Active Accessibility를 지원함) 애플리케이션은 NotifyWinEvent를 호출하는 것이 안전하다는 플래그를 설정합니다. GetProcAddress에서 받은 주소는 함수 포인터 변수에 저장되고 코드 전체에서 사용됩니다.