Freigeben über


Aufrufen aktiver Barrierefreiheits-APIs

Microsoft Active Accessibility stellt ApIs (Application Programming Interfaces) für Clients und Server bereit. Die meisten sind in der Dynamischen Barrierefreiheitsbibliothek von Microsoft Active implementiert, Oleacc.dll, aber NotifyWinEvent, SetWinEventHook und UnhookWinEvent werden in user32.dll implementiert, die eine Kernkomponente des Microsoft Windows-Betriebssystems ist.

Auf Computern mit Windows 95 oder Microsoft Windows NT 4.0 ist keine Oleacc.dll und die richtige Version von user32.dll installiert, da Microsoft Active Accessibility stufenweise in erfolgreiche Versionen von Windows integriert wurde. Daher verknüpfen Anwendungen, die auf diesen Plattformen ausgeführt werden, explizit mit Oleacc.dll zur Laufzeit, indem sie die LoadLibrary-Funktion verwenden, anstatt sich auf Importbibliotheken zu verlassen. Active Accessibility 1.3 unterstützt Windows 95 und Microsoft Windows NT 4.0. Frühere Versionen von Windows werden von Microsoft Active Accessibility nicht unterstützt.

Serveranwendungen verwenden die GetProcAddress-Funktion , um die Adresse einer Microsoft Active Accessibility-Funktion abzurufen und den Aufruf dann über einen Funktionszeiger zu tätigen. Beim Aufrufen einer Funktion, die in Oleacc.dll implementiert wurde, verwenden Serveranwendungen das Handle, das von LoadLibrary im Aufruf von GetProcAddress zurückgegeben wurde. Wenn eine in user32.dll definierte Funktion aufgerufen wird, rufen Serveranwendungen GetModuleHandle auf und geben "USER32" an und verwenden das zurückgegebene Modulhandle im Aufruf von GetProcAddress.

Wenn eine Anwendung beispielsweise NotifyWinEvent verwendet, ruft sie GetProcAddress mithilfe des Modulhandles von user32.dll auf, um die Adresse der Funktion abzurufen. Wenn der Aufruf erfolgreich ist (d. h. diese Version von Windows unterstützt Microsoft Active Accessibility), legt die Anwendung ein Flag fest, das angibt, dass notifyWinEvent sicher aufgerufen werden kann. Die von GetProcAddress empfangene Adresse wird in einer Funktionszeigervariable gespeichert und im gesamten Code verwendet.