Freigeben über


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 definiert, die als WinEvent-IDs verwendet werden. Der Community Reserved-Bereich (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.

In der folgenden Tabelle sind die WinEvent-Kategorien und die Wertebereiche aufgeführt, die für jede Kategorie definiert sind.

Kategorie Bereich Derzeit in Gebrauch 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ächenautomatisierungs-Ereignisse (System Reserviert) 0x4E00-0x4EFF 0x4E20-0x4E33 Benutzeroberflächenautomatisierungs-Ereignis-IDs
Benutzeroberflächenautomatisierungs-Ereignisse (System Reserviert) 0x7500-0x75FF 0x7530-0x759B Ereignis-IDs für die Benutzeroberflächenautomatisierung
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 Nichts Reserviert für neue Ereignisse, die von den 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 Accessibility and UI Automation Events

Fünf Bereiche von WinEvent-IDs sind für die Verwendung durch Microsoft Active Accessibility und microsoft UI Automation reserviert. Der erste Bereich (0x0001 – 0x00FF) ist für Ereignisse auf Systemebene reserviert, die normalerweise zum Beschreiben von Situationen verwendet werden, die sich auf alle Anwendungen im System auswirken. Der zweite Bereich (0x4001 – 0x40FF) ist für Windows-konsolenspezifische Ereignisse reserviert. Die dritten Bereiche (0x4E00 – 0x4EFF) und vierte Bereiche (0x7500 – 0x75FF) dienen zur Reflexion von Benutzeroberflächenautomatisierungsereignissen. Schließlich gilt der fünfte Bereich (0x8000 – 0x80FF) für Ereignisse auf Objektebene, die sich auf Situationen beziehen, die für Objekte innerhalb einer Anwendung spezifisch sind.

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

RESERVIERTe OEM-Ereignisse

Der reservierte OEM-Bereich ist für jeden offen, der WinEvents als Kommunikationsmechanismus verwenden muss. Entwickler sollten Ereignisdefinitionen zusammen mit ihren Parametern (oder auch mit zugehörigen 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.

Reservierte Communityereignisse

Der Bereich "Community Reserved" richtet sich an WinEvents, die von der Accessibility Interoperability Alliance (AIA) für die branchenübergreifende Verwendung angegeben werden. Entwickler werden dringend ermutigt, 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 Erweiterbarkeits-API für die Benutzeroberflächenautomatisierung zugewiesen 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 Zuordnen 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 den Bereichen OEM Reserved oder Community Reserved verwenden. Bevor Sie ein neues WinEvent verwenden, sollten Entwickler ihre Spezifikationen offen und umfassend teilen und mit der Accessibility Interoperability Alliance zusammenarbeiten, um WinEvent-Spezifikationen zu definieren.

WinEvents-

Accessibility Interoperability Alliance