Windows API (it-IT)
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
- Windows API List - Un elenco di riferimento per la Windows Application Programming Interface (API) fornita da MSDN Library.
- Microsoft Win32 to Microsoft .NET Framework API Map - Questo articolo identifica le API di Microsoft .NET Framework versione 1.0 o 1.1 che forniscono funzionalità simili a quelle delle funzioni Microsoft Win32.
- What's new in The Windows API - Ogni versione di Windows introduce API nuove ed aggiornate.
Articoli della Microsoft Knowledge Base
Articoli tecnici
- Windows with C++ - C++ and the Windows API (MSDN Magazine, Luglio 2011)
Libri
- Programming Windows, 5th Edition di Charles Petzold (Microsoft Press, Novembre 1998)
- Windows via C/C++, 5th Edition di Jeffrey Richter e Christophe Nasarre (Microsoft Press, Novembre 2007)
Vedere anche
Altre lingue
Questo articolo è disponibile anche nelle seguenti lingue: