다음을 통해 공유


WinEvent ID 할당

각 WinEvent는 특정 용도로만 사용됩니다. 의도하지 않은 용도로 WinEvent를 사용하면 다른 애플리케이션 또는 운영 체제와 충돌이 발생하여 애플리케이션 또는 운영 체제가 불안정해질 수 있습니다.

Microsoft는 여러 가지 범주의 WinEvents를 정의했으며, 각 범주에 대해 WinEvent ID로 사용할 값 범위를 하나 이상 정의했습니다. 새 WinEvents를 정의해야 하는 애플리케이션에는 커뮤니티 예약 범위(0xA000-0xAFFF)를 사용할 수 있습니다. 이 범위의 값을 사용하면 충돌 위험을 줄일 수 있습니다. 그러나 새 WinEvents를 만드는 개발자는 여전히 협업하여 애플리케이션 간의 충돌을 방지해야 합니다.

다음 표에서는 WinEvent 범주 및 각 범주에 대해 정의된 값 범위를 보여 줍니다.

범주 범위 현재 사용 중 의견
Microsoft Active Accessibility 이벤트(System Reserved) 0x0001 0x00FF 0x0001 0x0020 EVENT_SYSTEM_* 이벤트 ID
Microsoft Active Accessibility 이벤트(System Reserved) 0x4001 0x40FF 0x4001-0x4007 EVENT_CONSOLE_* 이벤트 ID
UI 자동화 이벤트(System Reserved) 0x4E00-0x4EFF 0x4E20-0x4E33 UI 자동화 이벤트 ID
UI 자동화 이벤트(System Reserved) 0x7500-0x75FF 0x7530 0x759B 속성 변경 이벤트 ID UI 자동화
Microsoft Active Accessibility 이벤트(System Reserved) 0x8000-0x80FF 0x8000-0x8015 EVENT_OBJECT_* 이벤트 ID
OEM 예약됨 0x0101-0x01FF 0x0101-0x0122 IAccessible2 이벤트 ID
커뮤니티 예약 0xA000 0xAFFF 없음 AIA(접근성 상호 운용성 얼라이언스) 사양에 의해 정의된 새 이벤트를 위해 예약됨
ATOM 0xC000 0xFFFF 0xC000 0xFFFF 런타임에 할당된 사용자 지정 이벤트용으로 예약됨

 

다음 topics WinEvent 범위를 자세히 설명합니다.

Microsoft Active Accessibility 및 UI 자동화 이벤트

5가지 WinEvent ID 범위는 Microsoft Active Accessibility 및 Microsoft UI 자동화 사용하도록 예약되어 있습니다. 첫 번째 범위(0x0001-0x00FF)는 일반적으로 시스템의 모든 애플리케이션에 영향을 주는 상황을 설명하는 데 사용되는 시스템 수준 이벤트를 위해 예약됩니다. 두 번째 범위(0x4001-0x40FF)는 Windows 콘솔 관련 이벤트에 예약되어 있습니다. 세 번째(0x4E00-0x4EFF) 및 네 번째 범위(0x7500-0x75FF)는 UI 자동화 이벤트를 반영하기 위한 것입니다. 마지막으로, 다섯 번째 범위(0x8000-0x80FF)는 한 애플리케이션 내의 개체와 관련된 상황과 관련된 개체 수준 이벤트에 대한 것입니다.

모든 Microsoft Active Accessibility 및 UI 자동화 이벤트는 WinUser.h 및 UIAutomationClient.h 헤더 파일에 정의됩니다.

OEM 예약 이벤트

OEM 예약 범위는 WinEvents를 통신 메커니즘으로 사용해야 하는 모든 사용자에게 열려 있습니다. 개발자는 이벤트 ID의 우발적 충돌을 방지할 수 있도록 이벤트 처리를 위해 매개 변수(또는 연결된 개체 형식)와 함께 이벤트 정의를 정의하고 게시해야 합니다. IAccessible2 사양은 OEM 예약 범위의 일부를 사용합니다.

커뮤니티 예약 이벤트

커뮤니티 예약 범위는 AIA(접근성 상호 운용성 얼라이언스)에서 지정한 WinEvents를 위한 것입니다. 개발자는 이 범위의 값을 사용하기 전에 공식 사양을 정의하고 게시하는 것이 좋습니다.

ATOM 이벤트

ATOM 범위는 UI 자동화 확장성 API를 통해 런타임에 할당되는 이벤트 ID용으로 예약됩니다. 다른 용도로는 ATOM 범위의 값을 사용하지 마세요. 문자열 GUID와 함께 GlobalAddAtom 함수를 사용하는 것이 ATOM 범위에서 WinEvents를 할당하는 권장 방법입니다.

예약된 범위의 값 사용

WinEvent 사양에 따라 시스템 예약 범위 또는 정의되지 않은 다른 범위의 값은 SDK를 수정하지 않고는 사용할 수 없습니다. 새 WinEvents의 경우 애플리케이션은 OEM 예약 또는 커뮤니티 예약 범위의 값을 사용해야 합니다. 새 WinEvent를 사용하기 전에 개발자는 자신의 사양을 공개적이고 광범위하게 공유하는 것이 강력히 권장되며, 접근성 상호 운용성 얼라이언스와 협력하여 WinEvent 사양을 정의해야 합니다.

WinEvents

접근성 상호 운용성 얼라이언스