close

Windows API

Hop til navigation Hop til søgning

Windows API er sættet af programmeringsgrænseflader (på engelsk application programming interface eller API) tilgængelige i Microsofts Windows - operativsystemer . For at bruge Windows API leverer Microsoft Platform SDK gratis , nu udviklet til det mere moderne Windows SDK , der forener Platform SDK med .NET Framework SDK (til gengæld dedikeret til .NET miljøet). Platform SDK (Windows SDK) er en samling værktøjer og dokumentation, der skal kombineres med en C -sprog- compiler .

Windows API-versioner

Windows API kan opdeles i følgende grupper:

  • Win16 , indledende 16-bit version af Windows API, hvis specifikationer også er tilgængelige som ECMA Standard med kode ECMA-234 .
  • Win32 , 32-bit evolution til moderne versioner af Windows.
  • Win32s , en undergruppe af Win32, der skal installeres på 16-bit versioner af Windows for at køre 32-bit kompilerede applikationer.
  • Win64 , en 64-bit evolution for versionerne af Windows beregnet til de nye 64-bit processorer fra Intel og AMD .
  • WinRT , nyt api til universelle apps til pc, tablet, smartphone, Hololens .

Windows API-struktur

API'erne består af et sæt C-sprog- funktioner implementeret i dynamiske - linkbiblioteker (på engelsk Dynamic-link libraries eller DLL).

Windows API'et har, på trods af at det af ydeevnemæssige årsager er skrevet i en blanding af C og assemblersprog , en kompleks objektorienteret model med en meget ensartet struktur og en stil, der har været en inspiration for mange andre projekter.

Den grundlæggende struktur af Windows API er næsten uændret fra Windows 1.0 til i dag. Der er tre hovedgrupper af API'er: kerne , GDI og bruger .

Kernel API

Kernen- API'erne giver applikationer en grænseflade på højt niveau til operativsystemets kernetjenester (hukommelsesstyring, processtyring, synkronisering osv.). På Windows versioner 1.0 til og med Windows 4.9 ( Windows Me ) er mange af disse API'er simpelthen opkald til tjenester leveret af MS-DOS - softwareafbrydelser . På systemer med NT-kerner foretager disse API'er kald til NT's lavniveau-API'er, kaldet Native API .

GDI API

Graphics Device Interface ( GDI ) API'er udgør grafikbiblioteket i Windows-systemer. GDI virtualiserer alle grafiske enheder (monitorer, printere, plottere) for at få en homogen grænseflade (kaldet Device Context ) mellem de forskellige typer enheder. Ydermere giver GDI dig mulighed for at oprette og manipulere en række grafiske objekter, herunder skrifttyper , penne, pensler, bitmaps osv.

API-bruger

Bruger- API'en (fra brugergrænsefladen ) leverer grafiske grænsefladetjenester baseret på begreberne "vindue" og "besked".

Ikke-Microsoft-implementeringer

Selvom implementeringen af ​​Windows API er underlagt copyright , er der proprietære implementeringer af andre producenter og også adskillige open source- projekter, herunder WINE til at emulere Windows API i Unix -lignende systemer , og ReactOS , som har til formål at skabe et helt operativsystem, der er kompatibelt med Windows API og i stand til at udføre programmer, der er skrevet til det.

Biblioteker på højere niveau

Lagdelingen over tid af nye funktioner, behovet for fuldstændig bagudkompatibilitet og den enorme samlede mængde af tilgængelige funktioner (til dato flere tusinde) har gjort Windows-programmering med API'er vanskelig og uegnet til de standarder, der accepteres i dag. Af denne grund er mange biblioteker blevet født over tid (på sprog som C++ og andre), der foreslår en mere abstrakt og letanvendelig objektmodel, der effektivt transformerer Windows API til en lav-niveau grænseflade.

Eksempler på biblioteker, der indkapsler Windows API er:

Fremtiden for Windows API

I årenes løb måtte Windows API efter Microsofts hensigt vige pladsen for .NET-biblioteket, især takket være Windows Presentation Foundation -komponenten , tilgængelig i version 3.0 af .NET Framework. Faktisk eksperimenterede nogle projekter, såsom Singularity of the Microsoft Research laboratories , med nye operativsystemer, der var fuldstændig baseret på den nye type kerne, fuldstændig skrevet med administreret kode baseret på .NET, og dermed forlod den gamle arkitektur baseret på Windows API. Men med fremkomsten af ​​smartphones og tablets i de senere år, har Microsoft foretrukket at introducere et nyt sæt API kaldet WinRT til app-udvikling, med alle app-standarder, kode, der kan bruges på flere arkitekturer både 32 og 64 bit. , med sandbox og med grænseflader, der kan tilpasses til enhver type enhed.

Relaterede emner

Eksterne links