Compartir a través de


Asignación de identificadores winEvent

Cada WinEvent está pensado para usarse solo para un propósito específico. El uso de winEvent para un propósito no deseado puede provocar colisiones con otras aplicaciones o el sistema operativo, lo que puede hacer que las aplicaciones o el sistema operativo se vuelvan inestables.

Microsoft ha definido varias categorías diferentes de WinEvents y, para cada categoría, ha definido uno o varios intervalos de valores para su uso como identificadores WinEvent. El intervalo reservado de la comunidad (0xA000, 0xAFFF) está disponible para las aplicaciones que necesitan definir nuevos WinEvents. El uso de valores de este rango ayuda a reducir el riesgo de colisiones; sin embargo, los desarrolladores que crean nuevos WinEvents todavía necesitan colaborar para evitar colisiones entre sus aplicaciones.

En la tabla siguiente se muestran las categorías winEvent y los intervalos de valores definidos para cada categoría.

Categoría Gama Actualmente en uso Comentarios
Eventos de accesibilidad activa de Microsoft (reservados por el sistema) 0x0001-0x00FF 0x0001-0x0020 identificadores de evento EVENT_SYSTEM_*
Eventos de accesibilidad activa de Microsoft (reservados por el sistema) 0x4001-0x40FF 0x4001-0x4007 identificadores de evento EVENT_CONSOLE_*
Eventos de automatización de la interfaz de usuario (reservados por el sistema) 0x4E00-0x4EFF 0x4E20-0x4E33 Identificadores de eventos de automatización de la interfaz de usuario
Eventos de automatización de la interfaz de usuario (reservados por el sistema) 0x7500-0x75FF 0x7530-0x759B Identificadores de eventos modificados por propiedades de Automatización de la interfaz de usuario
Eventos de accesibilidad activa de Microsoft (reservados por el sistema) 0x8000 0x80FF 0x8000-0x8015 identificadores de evento EVENT_OBJECT_*
Oem reservado 0x0101-0x01FF 0x0101-0x0122 Identificadores de eventos IAccessible2
Reservado por la comunidad 0xA000-0xAFFF Ninguno Reservado para nuevos eventos definidos por las especificaciones de Accessibility Interoperability Alliance (AIA)
ÁTOMO 0xC000-0xFFFF 0xC000-0xFFFF Reservado para eventos personalizados asignados en tiempo de ejecución

 

En los temas siguientes se describen los intervalos de WinEvent con más detalle.

Eventos de automatización de la interfaz de usuario y accesibilidad activa de Microsoft

Cinco intervalos de identificadores winEvent están reservados para su uso por parte de Microsoft Active Accessibility y Microsoft UI Automation. El primer intervalo (0x0001, 0x00FF) está reservado para eventos de nivel de sistema, que normalmente se usan para describir situaciones que afectan a todas las aplicaciones del sistema. El segundo intervalo (0x4001, 0x40FF) está reservado para eventos específicos de la consola de Windows. El tercer (0x4E00, 0x4EFF) y cuarto intervalos (0x7500, 0x75FF) son para la reflexión de los eventos de automatización de la interfaz de usuario. Por último, el quinto intervalo (0x8000, 0x80FF) es para eventos de nivel de objeto que pertenecen a situaciones específicas de objetos dentro de una aplicación.

Todos los eventos de Automatización de la interfaz de usuario y accesibilidad activa de Microsoft se definen en los archivos de encabezado WinUser.h y UIAutomationClient.h.

Eventos reservados de OEM

El intervalo reservado de OEM está abierto a cualquier persona que necesite usar WinEvents como mecanismo de comunicación. Los desarrolladores deben definir y publicar definiciones de eventos junto con sus parámetros (o también con los tipos de objetos asociados) para el procesamiento de eventos para evitar colisiones accidentales de identificadores de eventos. La especificación IAccessible2 usa parte del intervalo reservado de OEM.

Eventos reservados de la comunidad

El intervalo reservado de la comunidad es para WinEvents especificado por accessibility Interoperability Alliance (AIA) para su uso en todo el sector. Se recomienda encarecidamente a los desarrolladores definir y publicar una especificación oficial antes de usar valores de este intervalo.

Eventos ATOM

El intervalo ATOM está reservado para identificadores de eventos que se asignan en tiempo de ejecución a través de la API de extensibilidad de automatización de la interfaz de usuario. No use los valores del intervalo ATOM para ningún otro propósito. El uso de la funciónglobalAddAtomcon un GUID de cadena es el método recomendado para asignar WinEvents desde el intervalo ATOM.

Uso de valores de un intervalo reservado

Según la especificación winEvent, los valores del intervalo reservado del sistema o cualquier otro intervalo no definido no se pueden usar sin revisar el SDK. En el caso de los nuevos WinEvents, las aplicaciones deben usar valores de los intervalos reservados de OEM o reservados de la comunidad. Antes de usar un nuevo WinEvent, se recomienda a los desarrolladores compartir sus especificaciones abierta y ampliamente, y deben trabajar con la Alianza de interoperabilidad de accesibilidad para definir las especificaciones de WinEvent.

WinEvents

Accessibility Interoperability Alliance