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.
Zugehörige Themen