Compartir a través de


Asignación de identificadores de WinEvent

Cada winEvent está pensado para usarse únicamente con 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 siguen necesitando 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.

Category Intervalo Actualmente en uso Comentarios
Eventos de accesibilidad activa de Microsoft (reservados por el sistema) 0x0001-0x00FF 0x0001-0x0020 EVENT_SYSTEM_* identificadores de eventos
Eventos de accesibilidad activa de Microsoft (reservados por el sistema) 0x4001-0x40FF 0x4001-0x4007 EVENT_CONSOLE_* identificadores de eventos
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 Automatización de la interfaz de usuario identificadores de evento modificados por propiedades
Eventos de accesibilidad activa de Microsoft (reservados por el sistema) 0x8000 0x80FF 0x8000 0x8015 EVENT_OBJECT_* identificadores de eventos
Reservado para OEM 0x0101 0x01FF 0x0101-0x0122 Identificadores de eventos IAccessible2
Comunidad reservada 0xA000-0xAFFF Ninguno Reservado para nuevos eventos definidos por las especificaciones de Accessibility Interoperability Alliance (AIA)
ATOM 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 mayor detalle.

Eventos de accesibilidad y Automatización de la interfaz de usuario activos de Microsoft

Cinco intervalos de identificadores de WinEvent están reservados para que los use Microsoft Active Accessibility y Microsoft Automatización de la interfaz de usuario. El primer intervalo (0x0001, 0x00FF) está reservado para eventos de nivel de sistema, que se suelen usar 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. La tercera (0x4E00, 0x4EFF) y cuartos intervalos (0x7500, 0x75FF) son para la reflexión de 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 accesibilidad y Automatización de la interfaz de usuario activos 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 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 la Alianza de interoperabilidad de accesibilidad (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 los 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 utilice los valores del intervalo ATOM para ningún otro propósito. El uso de la función GlobalAddAtom con un GUID de cadena es el método recomendado para asignar WinEvents desde el intervalo ATOM.

Usar 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 especificaciones de WinEvent.

WinEvents

Accessibility Interoperability Alliance