Tipus | API |
---|---|
Més informació | |
Stack Exchange | Etiqueta |
| |
L'API de Windows, informalment WinAPI, és el conjunt bàsic d'interfícies de programació d'aplicacions (API) de Microsoft disponible als sistemes operatius Microsoft Windows.[1] El nom API de Windows fa referència col·lectivament a diverses implementacions de plataformes diferents a les quals sovint es fa referència amb els seus propis noms (per exemple, l'API Win32). Gairebé tots els programes de Windows interactuen amb l'API de Windows. A la línia de sistemes operatius Windows NT, un petit nombre (com ara programes iniciats a principis del procés d'inici de Windows) utilitzen l'API nativa.[2]
El suport per a desenvolupadors està disponible en forma d'un kit de desenvolupament de programari, Microsoft Windows SDK, que proporciona documentació i eines necessàries per crear programari basat en l'API de Windows i les interfícies de Windows associades.[3]
L'API de Windows (Win32) se centra principalment en el llenguatge de programació C,[4] ja que les seves funcions exposades i estructures de dades es descriuen en aquest llenguatge en versions recents de la seva documentació. Tanmateix, l'API pot ser utilitzada per qualsevol compilador o assemblador de llenguatge de programació capaç de gestionar les estructures de dades de baix nivell (ben definides) juntament amb les convencions de trucada prescrites per a trucades i devolució de crides. De la mateixa manera, la implementació interna de la funció de l'API s'ha desenvolupat històricament en diversos idiomes. Malgrat que C no és un llenguatge de programació orientat a objectes, tant l'API de Windows com Windows s'han descrit històricament com a orientats a objectes. També hi ha hagut moltes classes i extensions d'embolcall (de Microsoft i altres) per a llenguatges orientats a objectes que fan més explícita aquesta estructura orientada a objectes (Microsoft Foundation Class Library (MFC), Visual Component Library (VCL), GDI+, etc.). Per exemple, Windows 8 proporciona l'API de Windows i l'API WinRT, que s'implementa en C++ [5] i està orientat a objectes per disseny.[5]