Chamando APIs de Acessibilidade Ativa
O Microsoft Ative Accessibility fornece interfaces de programação de aplicativos (APIs) para clientes e servidores. A maioria é implementada na biblioteca de vínculo dinâmico do Microsoft Ative Accessibility, Oleacc.dll, mas NotifyWinEvent, SetWinEventHooke UnhookWinEvent são implementadas no user32.dll, que é um componente central do sistema operacional Microsoft Windows.
Computadores que executam o Windows 95 ou o Microsoft Windows NT 4.0 não têm Oleacc.dll e a versão correta do user32.dll instalados porque o Microsoft Active Accessibility foi incorporado por fases em versões posteriores do Windows. Como resultado, os aplicativos executados nessas plataformas vinculam-se explicitamente a Oleacc.dll em tempo de execução usando a funçãoLoadLibrary em vez de depender de bibliotecas de importação. Ative Accessibility 1.3 suporta Windows 95 e Microsoft Windows NT 4.0. Versões anteriores do Windows não são suportadas pelo Microsoft Ative Accessibility.
Os aplicativos de servidor usam o função GetProcAddress para recuperar o endereço de uma função do Microsoft Ative Accessibility e, em seguida, fazer a chamada por meio de um ponteiro de função. Se chamar uma função que foi implementada no Oleacc.dll, os aplicativos de servidor usam o identificador retornado de LoadLibrary na chamada para GetProcAddress. Se estiver chamando uma função definida no user32.dll, os aplicativos de servidor chamarão GetModuleHandle especificando "USER32" e usarão o identificador de módulo retornado na chamada para GetProcAddress.
Por exemplo, se um aplicativo usa NotifyWinEvent , ele chama GetProcAddress usando o identificador de módulo de user32.dll para obter o endereço da função. Se a chamada for bem-sucedida (o que significa que esta versão do Windows oferece suporte ao Microsoft Ative Accessibility), o aplicativo define um sinalizador que indica que é seguro chamar NotifyWinEvent. O endereço recebido de GetProcAddress é armazenado numa variável de ponteiro de função e é utilizado ao longo de todo o código.