Desenvolvido por | Microsoft |
---|---|
Meio Ambiente | janelas |
Modelo | interface de programação |
Política de distribuição | embutido no Windows |
Win16 , Win32 e Win32s são conjuntos padronizados de funções que permitem que o software aplicativo aproveite a funcionalidade de vários sistemas operacionais da família Windows . Win32 é o conjunto de recursos mais comumente usado, e os chamados programas do Windows geralmente são programas que usam o Win32.
O Win32, sucessor do Win16, foi introduzido em 1993, em produtos de 32 bits da família Windows, como Windows NT , Windows 2000 , Windows 95 ou seus sucessores. Esta interface de programação é implementado por três bibliotecas de software : Kernel32.dll, User32.dlle GDI32.dll. As mesmas funções Win32 estão disponíveis em todos os produtos Windows e, dependendo do produto, o uso de certas funções pode resultar em um erro de serviço não disponível .
As funções do Win32 permitem, em particular, manipular processos, comunicar entre programas, explorar redes de computadores, manipular arquivos, impressoras, servidores e portas de comunicação.
Um kit de desenvolvimento (SDK) está disponível para Windows que fornece documentação e ferramentas para permitir que os desenvolvedores criem software usando esta API e tecnologias relacionadas.
Os produtos Windows lançados antes de 1993 eram adequados para processadores de 16 bits, como o Intel 80286 ou seus predecessores. As edições do Windows após essa data são adequadas para processadores de 32 bits, como o Intel 80386 e seus sucessores. As diferenças entre esses produtos incluem o manuseio de ponteiros e a organização do espaço de endereço.
O nome Win32 foi dado à interface de programação disponibilizada no Windows NT e seus sucessores, edições de 32 bits do Windows, para distingui-la da interface Win16 anterior incluída nas edições de 16 bits ( Windows 3.1 e seus predecessores). O Win32 oferece funções semelhantes às encontradas no Win16, bem como um conjunto de funções normalmente fornecidas pela biblioteca C padrão .
Em seus primeiros dias, o Windows NT , a primeira edição de 32 bits do Windows, fornecia a interface de programação para o OS / 2 Presentation Manager . Em seguida, essa interface foi modificada para se aproximar daquela que existia nas versões anteriores; essa interface foi nomeada Win32 e seu predecessor Win16.
Win32s é uma interface de programação que fornece parte das funções do Win32 e se destina a programas para produtos da série Windows de 16 bits . O uso de certas funções do Win32s pode resultar em um erro de indisponibilidade .
Quando o Windows NT foi lançado e a interface Win32 foi introduzida, muito poucos aplicativos de software usavam essa técnica. A Microsoft equipou o Windows NT com vários subsistemas de ambiente permitindo que ele seja usado para executar softwares destinados a MS-DOS , OS / 2 , Unix ( POSIX ), bem como versões anteriores do Windows que implementam a interface Win16.
As interfaces de programação Win16 e Win32 fazem parte dos subsistemas de ambiente de produtos da família Windows. Cada ambiente permite a execução de programas destinados a um determinado tipo de sistema operacional: Win32 para programas destinados a edições de 32 bits do Windows, Win16 para outras edições (anteriores a 1993), POSIX para muitos programas destinados a Unix ou o ambiente para programas destinados a OS / 2 .
Um subsistema de ambiente é essencialmente um conjunto de bibliotecas de software que expõe as funções da interface de programação , bem como um programa que fornece comunicação entre o software aplicativo e o núcleo do sistema operacional. As funções do kernel do sistema operacional não são exploradas diretamente pelo software aplicativo.
Win32 é o ambiente nativo do Windows NT e seus sucessores. Os outros ambientes contam com ele para emular as condições de execução de aplicativos: MS-DOS é compatível com o programa VDM para máquina DOS Virtual , Windows 3.1 é compatível com o programa WOW para Windows no Windows , Unix é compatível com emulação de interface POSIX .
Windows 95 , Windows 98 e Windows NT oferecem interfaces Win16 e Win32. Quando uma função Win32 é usada no Windows 95, isso resulta no uso da função Win16 equivalente. No Windows NT é o oposto: o uso de uma função Win16 envolve o uso da função Win32 equivalente.
A funcionalidade fornecida pela API do Windows pode ser agrupada em sete categorias:
Fornece acesso aos recursos fundamentais do sistema disponíveis no Windows. Exemplos: sistema de arquivos , dispositivos de processo , processo leve , o acesso ao registro do sistema e para o Exception Handling System . Essas funções são armazenadas nos arquivos kernel.exe , krnl286.exe ou krnl386.exe para sistemas de 16 bits e kernel32.dll e advapi32.dll em sistemas de 32 bits.
Fornece acesso a recursos para exibição em monitores, impressoras, etc. Ele é armazenado no arquivo gdi.exe em sistemas de 16 bits e gdi32.dll em sistemas de 32 bits.
Usado para exibir e gerenciar controles básicos, como botões e barras de rolagem, receber informações do teclado e do mouse e recursos associados, como o ambiente gráfico . Esses recursos são armazenados no arquivo user.exe em sistemas de 16 bits e user32.dll comctl32.dll em sistemas de 32 bits. Desde o Windows XP , os controles foram agrupados em comctl32.dll , dedicando o user32.dll totalmente às infraestruturas.
Mostra caixas de diálogo para abrir e salvar arquivos, escolher cor e fonte, etc. Ele reside no arquivo comdlg.dll em sistemas de 16 bits e comdlg32.dll em sistemas de 32 bits. Ele foi agrupado com a parte da Interface do usuário .
Fornece acesso a funções avançadas do sistema operacional, como barras de status (localizadas na parte inferior das janelas), barras de progresso, barras de ferramentas e guias. Esses comandos residem na biblioteca de software commctrl.dll em sistemas de 16 bits e comctl32.dll . Ele é agrupado com a interface do usuário.
O componente da API do Windows que permite que os aplicativos acessem a funcionalidade fornecida pelo shell do sistema operacional. Ele reside no arquivo shell.dll em sistemas de 16 bits e shell32.dll em sistemas de 32 bits e, desde o Windows 95, no arquivo shlwapi.dll . Ele foi agrupado com a parte da Interface do usuário .
Fornece acesso às várias possibilidades de gerenciamento de rede do sistema operacional. Seus subcomponentes incluem NetBIOS , Winsock , RPC , etc. Em versões anteriores do Windows, isso incluía o NetDDE .
O Internet Explorer oferece algumas APIs que são freqüentemente usadas por programas e, portanto, podem ser consideradas parte da API do Windows. O Internet Explorer é fornecido automaticamente desde o Windows 98 . Existem planos para descontinuar esse suporte com o Vista .
Desde o Windows 95 , também existem APIs para exibições gráficas que permitem o acesso a recursos DirectX .
Existem também outras APIs para relacionamentos entre aplicativos como DDE (Dynamic Data Exchange Dynamic Data Exchange) , OLE (Object Linking and Embedding) (consulte (em) Object Linking and Embedding ) e COM (Component Object Model) .
Cada versão do Windows fez sua parte nas alterações de API. Apesar disso, o nome da API permanece o mesmo, exceto por mudanças importantes. A Microsoft ainda mudou o nome Win32 para API do Windows para contê-los em uma única família, mesmo para uma modificação futura desta.
Embora a API do Windows esteja sujeita a direitos autorais e apesar dos precedentes legais nos Estados Unidos, é permitido emular esta API em outras plataformas.
Este é o caso, por exemplo, do Wine, que emula uma API compatível com Win32 para sistemas operacionais baseados em UNIX . Outro exemplo é o sistema ReactOS .