NOTA: le risorse elencate nelle sezioni "Risorse della Community" sono disponibili solo in lingua Inglese (per gli articoli della Microsoft Knowledge Base è disponibile un sistema di traduzione automatica).

 



Che cosa è l'API di Windows?

L' API di Windows, informalmente chiamata WinAPI, è l'insieme principale delle interfacce Microsoft per la programmazione di applicazioni (Application Programming Interfaces o API) disponibile nei sistemi operativi Microsoft Windows. In passato era chiamata con il nome di  Win32 API; il nome "Windows API", comunque, rispecchia più accuratamente le sue radici nei sistemi Windows a 16 bit ed il suo supporto sui sistemi Windows a 64 bit. Quasi tutte le applicazioni Windows interagiscono con l'API; nella famiglia di sistemi Windows NT, un piccolo numero di programmi (come quelli avviati nelle prime fasi del processo di avvio di Windows) utilizza la Native API.
L'API di Windows è utilizzata da qualsiasi sviluppatore di software che voglia costruire applicazioni per Windows: in passato, quando lo sviluppo di applicazioni Windows era principalmente di tipo "message driven", lo sviluppatore doveva scrivere manualmente il codice che creava la finestra, impostava il ciclo di elaborazione dei messaggi e reagiva ad ogni azione dell'utente ricevendo i messaggi dal sistema operativo (ad esempio, WM_LBUTTONDOWN indica che l'utente ha premuto il tasto sinistro del mouse, mentre WM_PAINT indica alla procedura di gestione della finestra che l'area client della stessa è stata modificata e deve essere ri-disegnata) ed elaborandoli appropriatamente; oggigiorno, i moderni ambienti di sviluppo integrati (Integrated Development Enviroments o IDEs) nascondono la complessità di questo approccio permettendo agli sviluppatori di creare graficamente l'interfaccia utente delle loro applicazioni, following the Rapid Application Development (RAD) paradigm.
Ad ogni modo, scrivere ogni singola linea di codice non è molto pratico e comporta una gran perdita di tempo, ragion per cui molte aziende di software hanno sviluppato dei package che inglobano il gran numero di API di Windows all'interno di librerie di classi più compatte ed utilizzabili, che possono semplificare il lavoro degli sviluppatori: ad esempio, Borland introdusse la Object Windows Library (OWL) mentre Microsoft sviluppò la Microsoft Foundation Class (MFC) (oggi abbiamo Microsoft .NET Framework).
Il grandissimo insieme di librerie e funzioni che costituiscono l'API è messo a disposizione degli sviluppatori di software dal Software Development Kit (SDK, noto anche con il nome di Platform SDK), insieme ad un set completo di strumenti (come compilatori e linkers).

L'API nativa

L'API nativa (con la "N" maiuscola) è l'interfaccia per la programmazione di applicazioni meno documentata utilizzata internamente dalla famiglia di sistemi operativi Windows NT. Quest'API è utilizzata principalmente durante il boot del sistema, quando gli altri componenti di Windows non sono ancora disponibili. L'entry point del programma si chiama DriverEntry(), lo stesso utilizzato per i device driver. L'applicazione viene eseguita in Ring 3, lo stesso delle normali applicazioni Windows. La maggior parte delle chiamate all'API nativa è implementata in ntokrnl.exe ed è exposta in modalità utente da ntdll.dll. Alcune chiamate all'API nativa sono implementate direttamente in modalità utente all'interno del file ntdll.dll.
Mentre la maggior parte di Windows è implementata utilizzando la documentata e ben definita API di Windows, alcuni componenti, come il Client/Server Runtime Subsystem, sono implementati utilizzando l'API nativa, così che possano essere avviati nelle prime fasi del processo di avvio di Windows NT Startup Process quando l'API di Windows non è ancora disponibile.


Risorse della Community

Pagine web

Articoli della Microsoft Knowledge Base

Articoli tecnici

Libri


Vedere anche


Altre lingue

Questo articolo è disponibile anche nelle seguenti lingue:

English (en-US)