다음을 통해 공유


NotifyWinEvent 함수(winuser.h)

미리 정의된 이벤트가 발생한 시스템에 신호를 보냅니다. 클라이언트 애플리케이션이 이벤트에 대한 후크 함수를 등록한 경우 시스템은 클라이언트의 후크 함수를 호출합니다.

구문

void NotifyWinEvent(
  [in] DWORD event,
  [in] HWND  hwnd,
  [in] LONG  idObject,
  [in] LONG  idChild
);

매개 변수

[in] event

형식: DWORD

발생한 이벤트를 지정합니다. 이 값은 이벤트 상수 중 하나여야 합니다.

[in] hwnd

형식: HWND

이벤트를 생성한 개체가 포함된 창에 대한 핸들입니다.

[in] idObject

형식: LONG

이벤트를 생성한 개체를 식별합니다. 이 값은 미리 정의된 개체 식별자 또는 사용자 지정 개체 ID 값 중 하나입니다.

[in] idChild

형식: LONG

개체 또는 개체의 자식 요소에 의해 이벤트가 생성되었는지 여부를 식별합니다. 이 값이 CHILDID_SELF 경우 개체 자체에 의해 이벤트가 생성되었습니다. CHILDID_SELF 않으면 이 값은 이벤트를 생성한 요소의 자식 ID입니다.

반환 값

없음

설명

서버는 이 함수를 호출하여 이벤트가 발생했음을 시스템에 알립니다. Microsoft Active Accessibility는 클라이언트 애플리케이션이 이벤트에 대한 후크 프로시저를 설정했는지 확인하고, 그렇다면 적절한 후크 프로시저를 호출합니다.

이벤트에 대한 후크 프로시저가 등록되지 않은 경우 이 함수를 호출하는 데 대한 성능 저하는 미미합니다.

서버는 NotifyWinEvent 를 호출하여 이벤트가 발생한 후 시스템에 이벤트를 알립니다. 이벤트가 발생하기 전에 시스템에 이벤트를 알려서는 안됩니다.

클라이언트의 후크 프로시저가 호출되면 이벤트를 설명하는 여러 매개 변수와 이벤트를 생성한 개체를 수신합니다. 후크 프로시저는 AccessibleObjectFromEvent 함수를 사용하여 이벤트를 생성한 개체의 IAccessible 인터페이스에 대한 포인터를 검색합니다.

서버는 이 함수를 호출한 직후 WM_GETOBJECT 메시지를 받을 수 있습니다. 이벤트 콜백에 AccessibleObjectFromEvent 를 호출하는 컨텍스트 내 클라이언트가 있는 경우 이 문제가 발생할 수 있습니다.

서버가 이 함수를 호출할 때 는 WM_GETOBJECT 처리하고, IAccessible 인터페이스 포인터를 반환하고, IAccessible 메서드를 처리할 준비가 되어 있어야 합니다.

서버 개발자에게 참고: NotifyWinEvent를 호출할 때 클라이언트가 컨텍스트에서 해당 이벤트를 수신 대기하는 경우 일반적으로 WM_GETOBJECT 보내고 IAccessible 메서드를 호출하는 해당 이벤트 처리기는 NotifyWinEvent가 반환되기 전에 실행됩니다. NotifyWinEvent를 호출할 때 이러한 호출이 발생하는 경우 이러한 호출을 처리할 준비가 되어 있어야 합니다. 이를 허용하기 위해 추가 설정을 수행해야 하는 경우 NotifyWinEvent를 호출하기 전에 수행해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
재배포 가능 파일 SP6 이상 및 Windows 95를 Windows NT 4.0의 활성 접근성 1.3 RDK
API 세트 ext-ms-win-ntuser-server-l1-1-0(Windows 8 도입)

추가 정보

AccessibleObjectFromEvent

SetWinEventHook

UnHookWinEvent

WinEvents