Share to: share facebook share twitter share wa share telegram print page

Windows API

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.

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.

Histoire

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.

Technique

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].

Composant de Windows API

Les fonctionnalités fournies par Windows API peuvent être rangées dans sept catégories :

Services de base

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.

Interface graphique

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.

Interface utilisateur

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.

Boîtes de dialogue communes

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.

Bibliothèque de contrôles communs

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.

Shell Windows

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.

Services réseau

Donne accès aux diverses possibilités de gestion de réseau du système d'exploitation. Ses sous-composants incluent NetBIOS, Winsock, RPCetc. Sur les anciennes versions de Windows, cela incluait NetDDE.

Autres API liées

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).

Versions

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.

  • Win16 était la première API pour les versions 16-bits du système. Elle était au départ simplement nommé Windows API mais a été renommé en Win16 pour permettre le passage au 32-bits de Windows API. Les fonctionnalités étaient principalement dans le noyau du système : kernel.exe (ou krnl286.exe ou krnl386.exe), user.exe et gdi.exe. Malgré l'extension exe, ces fichiers sont des bibliothèques de liens dynamiques.
  • Win32 est la version 32-bits de l'API pour les systèmes plus récents. L'api se compose d'implémentations, comme avec Win16, dans le système bibliothèques de liens dynamiques. Le noyau de Win32 réside dans les fichiers kernel32.dll, user32.dll, et gdi32.dll. Win32 a été présenté avec Windows NT. La version embarquée avec Windows 95 était appelée Win32c, avec « c » pour compatibilité (compatibility en anglais) mais ce nom a été abandonné pour Win32. Dans la version Windows NT 4.0 et suivantes, les appels de Win32 sont exécutés par deux modules, csrss.exe (Client/Server Runtime Server Subsystem) en mode utilisateur et win32k.sys en mode noyau.
  • Win32s est une extension de Win32 pour les systèmes Windows 3.x qui a été introduite comme sous-ensemble de Win32. Le « s » est pour sous-ensemble (subset en anglais).
  • Win32 pour les éditions 64bits précédemment appelée Win64 est la version pour les ordinateurs 64-bits, avec les versions Windows XP Professional x64 Edition pour les processeurs x86-64 ainsi que Windows XP 64-bit Edition et Windows Server 2003 pour les processeurs Itanium. Cette version apporte juste le support pour ces deux nouvelles plateformes.

Autres implémentations

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.

Notes et références

  1. a b c d e et f (en) Marshall Brain et Ron Reeves, Win32 System Services: The Heart of Windows 98 and Windows 2000,Prentice Hall Professional - 2001, (ISBN 9780130225573)
  2. a et b (en) Ken Henderson,The Guru's Guide to SQL Server Architecture and Internals,Addison-Wesley Professional - 2004, (ISBN 9780201700473)
  3. a b c d et e (en) Charles Petzold, Programming Windows®, O'Reilly Media Inc. - 2010, (ISBN 9780735646032)
  4. a et b (en) Jeffrey R. Shapiro et Jim Boyce, Windows Server 2003 Bible, John Wiley & Sons - 2006, (ISBN 9780471998044)

Liens externes

Read other articles:

Indian admiral (1919–82) Vice AdmiralNilakanta KrishnanPVSM, DSCBorn(1919-06-08)8 June 1919[1]Nagercoil, Madras State (now Tamil Nadu), British IndiaDied30 January 1982(1982-01-30) (aged 62)[2]Hyderabad, Andhra Pradesh,[2] IndiaAllegiance British India (1938–1947) India (1947–1976)Service/branch Royal Indian Navy Indian NavyYears of service1938–1976Rank Vice AdmiralCommands heldEastern Naval CommandWestern Naval CommandINS VikrantINS …

В Википедии есть статьи о других людях с такой фамилией, см. Смирнова; Смирнова, Тамара. Тамара Михайловна Смирнова Дата рождения 15 ноября 1935(1935-11-15) Место рождения Геническ, УССР, СССР Дата смерти 5 сентября 2001(2001-09-05) (65 лет) Место смерти Санкт-Петербург, Россия Страна  СССР&…

Меланхтон — термін, який має кілька значень. Ця сторінка значень містить посилання на статті про кожне з них.Якщо ви потрапили сюди за внутрішнім посиланням, будь ласка, поверніться та виправте його так, щоб воно вказувало безпосередньо на потрібну статтю.@ пошук посилань

Несторівська група Дата заснування 2012Тип неформальне об'єднання інтелектуалів та громадських активістівОфіційний сайт nestorgroup.org  Несторівська група у Вікісховищі Несторівська група — неформальне об'єднання Інтелектуалів, експертів та громадських активістів, ство…

Відносини Узбекистан — НАТО Узбекистан НАТО НАТО і Узбекистан активно розвивають практичну співпрацю. Узбекистан бере участь в засіданнях Ради євроатлантичного партнерства та дискусіях з членами НАТО і країнами-партнерами. Співпраця з оборонних питань проходить в рамк…

Osthannoversche Eisenbahnen AG OHE 185 534 in het Güterverkehrszentrum Ingolstadt (2005) Algemene informatie Land Duitsland Hoofdvestiging Celle Actief 1944 - heden Website http://www.ohe-transport.de/ Bedrijfsstructuur Aandeelhouder(s) Netinera Bachstein GmbH (87,507%)Landkreis Celle (5,772 %)Landkreis Gifhorn (1,782%)Landkreis Lüneburg (1,542%)Landkreis Heidekreis (1,194%)Stadt Celle (1,220%)Stadt Uelzen (0,697%)Stadt Wittingen (0,258%)Flecken Brome (0,028%) Dochter(s) o.a. Niedersachse…

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) بطولة أوروبا لكرة الماء 2001 البطولة بطولة أوروبا لكرة الماء رقم الموسم الـ 25 التاريخ 2001 المكان بودابست، الم…

artikel ini perlu dirapikan agar memenuhi standar Wikipedia. Tidak ada alasan yang diberikan. Silakan kembangkan artikel ini semampu Anda. Merapikan artikel dapat dilakukan dengan wikifikasi atau membagi artikel ke paragraf-paragraf. Jika sudah dirapikan, silakan hapus templat ini. (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujuka…

Academy in London, EnglandKensington Aldridge AcademyAddress1 Silchester Road, KensingtonLondon, W10 6EXEnglandCoordinates51°30′53″N 0°12′55″W / 51.51468°N 0.21525°W / 51.51468; -0.21525InformationOther nameKAATypeAcademyMottoIntrepidus(To be bold, brave)EstablishedSeptember 2014; 9 years ago (2014-09)Local authorityKensington & ChelseaTrustFreestanding sponsors Aldridge Education AESpecialistsarts (creative and performing arts)Depar…

MUAC, Museo Universitario Arte Contemporáneo UbicaciónPaís México MéxicoMunicipio Alcaldía CoyoacánLocalidad Ciudad de MéxicoDirección Insurgentes Sur 3000, Centro Cultural Universitario (04510)Tipo y coleccionesTipo Museo de arteHistoria y gestiónCreación noviembre de 2008Inauguración 27 de noviembre de 2008Propietario UNAMDirector Amanda de la GarzaInformación del edificioConstrucción 2006-2008Arquitecto Teodoro González de LeónInformación para visitantesMetro Metrobús Centro…

A fantasy creature inspired by the architectural Gargoyle element A gargoyle monster as depicted in the tabletop RPG Dungeons & Dragons The gargoyle is a fantasy and horror monster inspired by the gargoyle architectural element. While they were believed in mythology to frighten away evil spirits, the idea of such statues physically coming to life is a more recent notion. Like golems, they are usually made of magically animated or transformed stone, but have animal or chimera traits and are o…

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2020) إدارة أعمال إدارة عمل تجاري محاسبة محاسبة إدارية محاسبة مالية تدقيق مالي شخصية معنوية Corporate group تكتل (شركة) شركة قابضة جمعية تعاونية مؤسسة تجارية شركة مساهمة ش…

Coordenadas: 16° 23' 58.02 S 48° 54' 26.54 O Grupo Caoa Grupo CaoaLogotipo do Grupo Caoa Razão social Caoa Motor do Brasil Ltda. Tipo empresa de capital fechado Atividade indústria automobilística Fundação 1979 (44 anos) Fundador(es) Carlos Alberto de Oliveira Andrade Sede São Paulo[1] Presidente Carlos Alberto de Oliveira Andrade Filho Produtos automóveis Subsidiárias Caoa Montadora Caoa Seminovos Website oficial caoa.com.br O Grupo Caoa é o distribuidor das …

Bahasa Sindhi سنڌي सिन्धी ਸਿੰਧੀ Dituturkan diSindh, Pakistan dan Gujarat, India. Juga di berbagai penjuru dunia seperti Hong Kong, Oman, Filipina, Indonesia, Singapura, Uni Emirat Arab, Inggris, Amerika Serikat, Kanada, Australia, Tiongkok, Prancis, Jepang, Malaysia, Arab Saudi, QatarWilayahSeluruh duniaPenutur75 jutaRumpun bahasaIndo-Eropa Indo-IranIndo-AryaZona BaratlautSindhiSindhi Sistem penulisanArab, Dewanagari, Khudabadi, Laṇḍā, Sindhi Roman, GurmukhiSt…

Cộng hòa Ả Rập Ai Cập Tên bản ngữ جمهورية مصر العربية tiếng Ả Rập:Jumhūrīyat Miṣr al-ʿArabīyahtiếng Ả Rập Ai Cập:Gomhoreyet Maṣr El ʿArabeya Quốc kỳ Quốc huy Quốc ca: Bilady, Bilady, Biladyبلادي، بلادي، بلاديTổ quốc, tổ quốc, tổ quốc Tổng quanThủ đôvà thành phố lớn nhấtCairo30°2′B 31°13′Đ / 30,033°B 31,217°Đ / 30.0…

Island of the Seychelles For the 1911 French film, see La Digue (film). La DigueLa DigueGeographyLocationSeychelles, Indian OceanCoordinates4°22′48″S 55°50′48″E / 4.38000°S 55.84667°E / -4.38000; 55.84667ArchipelagoInner Islands, SeychellesAdjacent toSomali Sea, Indian OceanTotal islands1Major islandsLa DigueArea10.08 km2 (3.89 sq mi)Length5 km (3.1 mi)Width3.3 km (2.05 mi)Coastline15.4 km (9.57 mi)Highest elev…

This article's factual accuracy may be compromised due to out-of-date information. Please help update this article to reflect recent events or newly available information. (May 2018) Political party in Iraq Iraqi Islamic Party (IIP) Hizb al-Islami al-IraqiLeaderRashid al-AzzawiFounded26 April 1960 (1960-04-26)IdeologyIslamic democracyQutbismPolitical positionCentre-rightReligionSunni IslamNational affiliationMuslim Brotherhood in IraqSeats in the Council of Representative…

Persian poet Simin Behbahani سیمین بهبهانیSimin Behbahani in 2007BornSiminbar Khalili[1](1927-07-20)20 July 1927Tehran, Imperial State of PersiaDied19 August 2014(2014-08-19) (aged 87)Tehran, IranBurial placeBehesht-e ZahraNationalityIranianOther namesSimin Bihbahani, Simin KhaliliEducationUniversity of TehranOccupation(s)Poet, lyricist, writerSpouses Hassan Behbahani ​ ​(m. 1946; div. 1970)​ Manouchehr Koshyar ​…

2022 British film by Adam Patterson and Declan Lawn Rogue AgentDirected by Adam Patterson Declan Lawn Written by Michael Bronner Adam Patterson Declan Lawn Based onChasing Agent Freegardby Michael BronnerProduced by Michael Bronner Kitty Kaletsky Robert Taylor Herbert L. Kloiber Starring James Norton Gemma Arterton Shazad Latif Marisa Abela Edwina Findley Julian Barratt CinematographyLarry SmithMusic byHannah PeelProductioncompanies Rabbit Track Pictures Great Point Media The Development Partner…

Amsterdam Fashion WeekGenreFashion catwalk shows, clothing and fashion exhibitions and surrounding eventsFrequencyBiannuallyLocation(s)Amsterdam, The NetherlandsPeopleDanie BlesWebsiteamsterdamfashionweek.nl fashion week westergas Amsterdam Amsterdam Fashion Week (AFW) is a fashion event that takes place in Amsterdam, The Netherlands biannually. Both established brands and starting designers show their collections. The AFW used to be held at the Westergasfabriek location, but after takeover[…

Kembali kehalaman sebelumnya