Aktív akadálymentességi API-k meghívása

A Microsoft Active Accessibility alkalmazásprogramozási felületeket (API-kat) biztosít mind az ügyfelek, mind a kiszolgálók számára. A legtöbb implementálás a Microsoft Active Accessibility dinamikus csatolású kódtárában történik, Oleacc.dll, de NotifyWinEvent, SetWinEventHook, UnhookWinEvent pedig a Microsoft Windows operációs rendszer egyik alapvető összetevőjében, a user32.dll-ban implementálódnak.

A Windows 95-öt vagy a Microsoft Windows NT 4.0-t futtató számítógépeken nincs telepítve a Oleacc.dll és a user32.dll helyes verziója, mert a Microsoft Active Accessibility fokozatosan lett beépítve a Windows későbbi verzióiba. Ennek eredményeképpen az ezeken a platformokon futó alkalmazások kifejezetten hivatkoznak Oleacc.dll futásidőben a LoadLibrary függvénnyel az import könyvtárak használata helyett. Az Active Accessibility 1.3 támogatja a Windows 95-öt és a Microsoft Windows NT 4.0-t. A Microsoft Active Accessibility nem támogatja a Windows korábbi verzióit.

A kiszolgálóalkalmazások a GetProcAddress függvénnyel kérik le a Microsoft Active Accessibility függvény címét, majd egy függvénymutatón keresztül kezdeményezik a hívást. Ha hív egy, a Oleacc.dll-ben implementált függvényt, akkor a kiszolgálóalkalmazások a LoadLibrary által visszaadott leírót használják a GetProcAddresshívás során. Ha egy a user32.dll-ban definiált függvényt hív meg, a kiszolgálóalkalmazások meghívják a GetModuleHandle függvényt a "USER32" megadásával, és a visszaadott modulleírót a GetProcAddress hívásban használják.

Ha például egy alkalmazás NotifyWinEventhasznál, akkor a user32.dll modulleírójával meghívja a GetProcAddress függvényt, hogy lekérje annak címét. Ha a hívás sikeres (ami azt jelenti, hogy a Windows ezen verziója támogatja a Microsoft Active Accessibilityet), akkor az alkalmazás beállít egy jelölőt, amely jelzi, hogy biztonságosan meghívható NotifyWinEvent. A GetProcAddress által kapott cím egy függvénymutató változóban van tárolva, és a kódban is használatos.