Zuordnung von WinEvent-IDs

Jedes WinEvent soll nur für einen bestimmten Zweck verwendet werden. Die Verwendung eines WinEvents für einen unbeabsichtigten Zweck kann zu Kollisionen mit anderen Anwendungen oder dem Betriebssystem führen, was dazu führen kann, dass die Anwendungen oder das Betriebssystem instabil werden.

Microsoft hat mehrere verschiedene Kategorien von WinEvents definiert und für jede Kategorie einen oder mehrere Wertebereiche für die Verwendung als WinEvent-IDs definiert. Der Reservierte Communitybereich (0xA000 – 0xAFFF) ist für Anwendungen verfügbar, die neue WinEvents definieren müssen. Die Verwendung von Werten aus diesem Bereich trägt dazu bei, das Risiko von Kollisionen zu verringern. Entwickler, die neue WinEvents erstellen, müssen jedoch weiterhin zusammenarbeiten, um Konflikte zwischen ihren Anwendungen zu vermeiden.

Die folgende Tabelle zeigt die WinEvent-Kategorien und die Wertebereiche, die für jede Kategorie definiert sind.

Category Bereich Derzeit in Verwendung Kommentare
Microsoft Active Accessibility-Ereignisse (System reserviert) 0x0001-0x00FF 0x0001-0x0020 EVENT_SYSTEM_*-Ereignis-IDs
Microsoft Active Accessibility-Ereignisse (System reserviert) 0x4001-0x40FF 0x4001-0x4007 EVENT_CONSOLE_*-Ereignis-IDs
Benutzeroberflächenautomatisierung Ereignisse (System reserviert) 0x4E00-0x4EFF 0x4E20-0x4E33 Benutzeroberflächenautomatisierung Ereignis-IDs
Benutzeroberflächenautomatisierung Ereignisse (System reserviert) 0x7500-0x75FF 0x7530-0x759B Benutzeroberflächenautomatisierung Ereignis-IDs mit geänderter Eigenschaft
Microsoft Active Accessibility-Ereignisse (System reserviert) 0x8000-0x80FF 0x8000-0x8015 EVENT_OBJECT_*-Ereignis-IDs
OEM Reserviert 0x0101-0x01FF 0x0101-0x0122 IAccessible2-Ereignis-IDs
Community reserviert 0xA000-0xAFFF Keine Reserviert für neue Ereignisse, die durch die Spezifikationen der Accessibility Interoperability Alliance (AIA) definiert sind
ATOM 0xC000-0xFFFF 0xC000-0xFFFF Reserviert für benutzerdefinierte Ereignisse, die zur Laufzeit zugewiesen wurden

 

In den folgenden Themen werden die WinEvent-Bereiche ausführlicher beschrieben.

Microsoft Active-Barrierefreiheits- und Benutzeroberflächenautomatisierung ereignisse

Fünf Bereiche von WinEvent-IDs sind für die Verwendung durch Microsoft Active Accessibility und Microsoft Benutzeroberflächenautomatisierung reserviert. Der erste Bereich (0x0001 – 0x00FF) ist für Ereignisse auf Systemebene reserviert, die in der Regel zum Beschreiben von Situationen verwendet werden, die alle Anwendungen im System betreffen. Der zweite Bereich (0x4001 – 0x40FF) ist für windows-konsolenspezifische Ereignisse reserviert. Der dritte (0x4E00 – 0x4EFF) und der vierte Bereich (0x7500 – 0x75FF) dienen der Reflexion Benutzeroberflächenautomatisierung Ereignisse. Schließlich ist der fünfte Bereich (0x8000 – 0x80FF) für Ereignisse auf Objektebene vorgesehen, die sich auf Situationen beziehen, die für Objekte innerhalb einer Anwendung spezifisch sind.

Alle Microsoft Active Accessibility- und Benutzeroberflächenautomatisierung-Ereignisse werden in den Headerdateien WinUser.h und UIAutomationClient.h definiert.

OEM-reservierte Ereignisse

Der reservierte OEM-Bereich steht allen offen, die WinEvents als Kommunikationsmechanismus verwenden müssen. Entwickler sollten Ereignisdefinitionen zusammen mit ihren Parametern (oder auch zugeordneten Objekttypen) für die Ereignisverarbeitung definieren und veröffentlichen, damit versehentliche Kollisionen von Ereignis-IDs vermieden werden können. Die IAccessible2-Spezifikation verwendet einen Teil des reservierten OEM-Bereichs.

Community reservierte Ereignisse

Der Community Reserved-Bereich gilt für WinEvents, die von der Accessibility Interoperability Alliance (AIA) für die branchenweite Verwendung angegeben sind. Entwickler werden dringend empfohlen, eine offizielle Spezifikation zu definieren und zu veröffentlichen, bevor Sie Werte aus diesem Bereich verwenden.

ATOM-Ereignisse

Der ATOM-Bereich ist für Ereignis-IDs reserviert, die zur Laufzeit über die Benutzeroberflächenautomatisierung Erweiterbarkeits-API zugeordnet werden. Verwenden Sie die Werte aus dem ATOM-Bereich nicht für andere Zwecke. Die Verwendung der GlobalAddAtom-Funktion mit einer Zeichenfolgen-GUID ist die empfohlene Methode zum Zuweisen von WinEvents aus dem ATOM-Bereich.

Verwenden von Werten aus einem reservierten Bereich

Gemäß der WinEvent-Spezifikation können Werte aus dem reservierten Systembereich oder einem anderen nicht definierten Bereich nicht verwendet werden, ohne das SDK zu überarbeiten. Für neue WinEvents sollten Anwendungen Werte aus dem Bereich "OEM Reserved" oder "Community Reserved" verwenden. Vor der Verwendung eines neuen WinEvents wird Entwicklern dringend empfohlen, ihre Spezifikationen offen und breit zu teilen, und sollten mit der Accessibility Interoperability Alliance zusammenarbeiten, um WinEvent-Spezifikationen zu definieren.

WinEvents

Accessibility Interoperability Alliance