Win32 API
La interfaz de programación de aplicaciones de Windows, cuyo nombre en inglés es Windows API (Windows application programming interface), es un conjunto de funciones residentes en bibliotecas (generalmente dinámicas, también llamadas DLL por sus siglas en inglés, término usado para referirse a estas en Windows) que permiten que una aplicación corra bajo un determinado sistema operativo.
Debido a su estrecha relación con el desarrollo de software, los programas en sus especificaciones generalmente explicitan la versión de la API del sistema operativo, mediante diversas nomenclaturas tales como la versión específica del sistema operativo (para Windows 98, por ejemplo), o explicitando la versión del conjunto de bibliotecas (Plataforma Win32, etc.).
Las funciones API se dividen en varias categorías:
- Depuración y manejo de errores
- E/S de dispositivos
- Varias DLL, procesos e hilos
- Comunicación entre procesos
- Manejo de la memoria
- Monitorización del desempeño
- Manejo de energía
- Almacenamiento
- Información del sistema
- GDI (interfaz para dispositivos gráficos) de Windows (tales como impresoras)
- Interfaz de usuario de Windows
Versiones de API
La primera versión de esta interfaz era de 16 bits, y llamada Win16. Solo se utilizaba en las versiones de 16 bits de Windows.
En su nueva versión 32 bits, se incrementó el número de funciones disponibles. Microsoft proporciona un kit de desarrollo de software en el que se incluyen la documentación y las herramientas necesarias para que los programadores puedan crear sus aplicaciones y aprovechar los recursos del sistema.
Las versiones modernas de Windows utilizan la API de 32 bits llamada Win32. Está compuesta por funciones en C almacenadas en bibliotecas de enlace dinámico (DLL), especialmente en las del núcleo:
- kernel32.dll
- user32.dll
- gdi32.dll
Aunque la implementación de Microsoft tiene derechos de autor, generalmente se acepta que otras empresas puedan emular Windows proporcionando API idénticas, sin que implique violación de derechos de autor.
La extensión 64 bits de la versión 32 bits se llama Win64.
El proyecto Wine es un intento de que esta API esté disponible para plataformas de tipo Unix.
Compiladores
Para desarrollar programas que funcionen en Windows se necesita un compilador que maneje las DLL y objetos COM específicos de Microsoft, así como también un cierto número de archivos de cabecera de C (de extensión .h) que definen las interfaces de las DLL. Generalmente se usan las familias de compiladores Visual Studio y Embarcadero, pero ahora existen herramientas libres como MinGW y Cygwin.