Loading AI tools
De Wikipédia, l'encyclopédie libre
Win16, Win32 et Win32s sont des ensembles normalisés de fonctions qui permettent aux logiciels applicatifs de se servir des fonctionnalités des différents systèmes d'exploitation de la famille Windows. Win32 est l'ensemble de fonctions le plus souvent utilisé[1], et les programmes dits pour Windows sont généralement des programmes utilisant Win32.
Développé par | Microsoft |
---|---|
Environnement | Windows |
Type | interface de programmation |
Politique de distribution | incorporé dans Windows |
Win32, successeur de Win16, a été introduit en 1993, dans les produits 32 bits de la famille Windows comme Windows NT, Windows 2000, Windows 95 ou leurs successeurs. Cette interface de programmation est mise en œuvre par 3 bibliothèques logicielles : Kernel32.dll
, User32.dll
et GDI32.dll
[2]. Les mêmes fonctions de Win32 sont disponibles dans tous les produits Windows et, suivant le produit, l'utilisation de certaines fonctions peut aboutir à une erreur service non disponible[1].
Les fonctions de Win32 permettent notamment de manipuler des processus, de communiquer entre programmes, d'exploiter les réseaux informatiques, de manipuler des fichiers, des imprimantes, des serveurs et des ports de communication[1].
Un kit de développement (SDK) est disponible pour Windows qui fournit la documentation et les outils pour permettre aux développeurs de créer des logiciels en utilisant cette API et les technologies associées.
Les produits Windows parus avant 1993 étaient adaptées aux processeurs 16 bits tels que le Intel 80286 ou ses prédécesseurs[3]. Les éditions de Windows postérieures à cette date sont adaptées aux processeurs 32 bits tels que le Intel 80386 et ses successeurs[3]. Les différences entre ces produits sont notamment la manipulation des pointeurs et l'organisation de l'espace d'adressage[3].
Le nom Win32 a été donné à l'interface de programmation mise à disposition dans Windows NT et ses successeurs, les éditions 32 bits de Windows, pour la distinguer de la précédente interface Win16 incluse dans les éditions 16 bits (Windows 3.1 et ses prédécesseurs)[1]. Win32 offre des fonctions similaires à celles qui existent dans Win16, ainsi qu'un lot de fonctions qui sont couramment mises à disposition par la bibliothèque standard du C[1].
À ses débuts, Windows NT, première édition 32 bits de Windows, offrait l'interface de programmation de OS/2 Presentation Manager. Puis cette interface a été modifiée en vue de s'approcher de celle qui existait dans les versions précédentes ; cette interface a été baptisée Win32, et son prédécesseur Win16[2].
Win32s est une interface de programmation qui offre une partie des fonctions de Win32, et est destinée aux programmes pour les produits 16 bits de la série Windows. L'utilisation de certaines fonctions de Win32s peut aboutir à une erreur non disponible[1].
Lors de la sortie de Windows NT et l'introduction de l'interface Win32, très peu de logiciels applicatifs utilisaient cette technique. Microsoft a équipé Windows NT de plusieurs environment subsystems permettant de l'utiliser pour exécuter des logiciels destinés à MS-DOS, OS/2, Unix (POSIX) ainsi que les précédentes versions de Windows qui implémentent l'interface Win16.
Les interfaces de programmation Win16 et Win32 font partie des environment subsystem de produits de la famille Windows[4]. Chaque environnement permet l'exécution de programmes prévus pour un certain type de système d'exploitation : Win32 pour les programmes prévus pour les éditions 32 bits de Windows, Win16 pour les autres éditions (antérieures à 1993), POSIX pour de nombreux programmes prévus pour Unix, ou encore l'environnement pour des programmes destinés à OS/2[4].
Un environment subsystem est essentiellement un ensemble de bibliothèques logicielles qui exposent les fonctions de l'interface de programmation ainsi qu'un programme qui assure la communication entre le logiciel applicatif et le cœur du système d'exploitation. Les fonctions du noyau du système d'exploitation ne sont pas directement exploitées par les logiciels applicatifs.
Win32 est l'environnement natif de Windows NT et ses successeurs. Les autres environnements s'appuient dessus pour émuler les conditions d'exécution des applications : MS-DOS est pris en charge par le programme VDM pour Virtual DOS machine, Windows 3.1 est pris en charge par le programme WOW pour Windows on Windows, Unix est pris en charge par émulation de l'interface POSIX.
Windows 95, Windows 98 et Windows NT offrent les deux interfaces Win16 et Win32[3]. Lorsqu'une fonction de Win32 est utilisée dans Windows 95, cela entraîne l'utilisation de la fonction Win16 équivalente. Dans Windows NT c'est le contraire : l'utilisation d'une fonction Win16 entraîne l'utilisation de la fonction Win32 équivalente[3].
Les fonctionnalités fournies par Windows API peuvent être rangées dans sept catégories :
Donne accès aux ressources fondamentales du système disponibles sous Windows. Exemples : système de fichiers, périphériques, processus, processus léger, accès au registre système et au Système de gestion d'exceptions. Ces fonctions sont stockées dans les fichiers kernel.exe, krnl286.exe ou krnl386.exe pour les systèmes 16-bits et kernel32.dll et advapi32.dll sur les systèmes 32 bits.
Permet d'accéder aux ressources pour l'affichage sur les moniteurs, imprimantes, etc. Elle est stockée dans le fichier gdi.exe sur les systèmes 16-bits et gdi32.dll sur les systèmes 32-bits.
Permet d'afficher et de gérer les contrôles de base comme les boutons et barres de défilement, de recevoir les informations du clavier et de la souris et des fonctionnalités associées comme l'environnement graphique. Ces fonctionnalités sont stockées dans le fichier user.exe sur les systèmes 16-bits, et user32.dll comctl32.dll sur les systèmes 32-bits. Depuis Windows XP, les contrôles ont été regroupés dans comctl32.dll, dédiant user32.dll pleinement aux infrastructures.
Permet d'afficher les boîtes de dialogue pour ouvrir et enregistrer des fichiers, choisir la couleur et la police, etc. Elle réside dans le fichier comdlg.dll sur les systèmes 16-bits et comdlg32.dll sur les systèmes 32-bits. Elle a été groupée avec la partie Interface utilisateur.
Donne accès à des fonctions avancées du système d'exploitation comme des barres de statut (situées au bas des fenêtres), barres de progression, barres d'outils et onglets. Ces commandes résident dans la bibliothèque logicielle commctrl.dll sur les systèmes 16-bits et comctl32.dll. Elle est groupée avec l'interface utilisateur.
Le composant de Windows API qui permet à des applications d'accéder aux fonctionnalités fournies par le shell du système d'exploitation. Elle réside dans le fichier shell.dll sur les systèmes 16-bits et shell32.dll sur les systèmes 32-bits, et depuis Windows 95 dans le fichier shlwapi.dll. Elle a été groupée avec la partie Interface utilisateur.
Donne accès aux diverses possibilités de gestion de réseau du système d'exploitation. Ses sous-composants incluent NetBIOS, Winsock, RPC, etc. Sur les anciennes versions de Windows, cela incluait NetDDE.
Internet Explorer offre quelques API[Lesquelles ?] qui sont souvent utilisées par les programmes et peut donc être considéré comme une partie de Windows API. Internet Explorer est fourni d'office depuis Windows 98. Il est prévu d'arrêter cette prise en charge avec Vista.[Passage à actualiser]
Depuis Windows 95, il y a aussi des API pour les affichages graphiques qui permettent d'avoir accès aux ressources de DirectX.
Il y a aussi d'autres API pour les relations entre les applications comme DDE (Dynamic Data Exchange, Echange dynamique de données), OLE (Object Linking and Embedding) (voir (en) Object Linking and Embedding) et COM (Component Object Model).
Chaque version de Windows a apporté son lot de modifications de l'API. Malgré cela, le nom de l'API reste le même sauf pour les modifications majeures. Microsoft a quand même changé le nom Win32 en Windows API pour les contenir dans une seule famille même pour une prochaine modification de celle-ci.
Bien que Windows API soit soumise aux droits d'auteurs et malgré les précédents légaux aux États-Unis, il est permis d'émuler cette API sur d'autres plateformes.
C'est le cas par exemple de Wine qui émule une API compatible avec Win32 pour les systèmes d'exploitation à base UNIX. Un autre exemple est le système ReactOS.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.