Windows API

Win32Win16Win32 APIWin64WinAPIWindows64-bitnativeWin32/64Windows APIs
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems.wikipedia
416 Related Articles

Application programming interface

APIAPIsapplication programming interfaces
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems.
POSIX, Windows API and ASPI are examples of different forms of APIs.

Microsoft Foundation Class Library

MFCMicrosoft Foundation ClassesApplication Framework eXtensions
There have also been many wrapper classes and extensions (from Microsoft and others) for object-oriented languages that make this object-oriented structure more explicit (Microsoft Foundation Class Library (MFC), Visual Component Library (VCL), GDI+, etc.).
In an MFC program, direct Windows API calls are rarely needed.

Callback (computer programming)

callbackcallbackscallback function
However, the API may be used by any programming language compiler or assembler able to handle the (well-defined) low-level data structures along with the prescribed calling conventions for calls and callbacks.

Native API

NTDLLnative applicationntdll.dll
On the Windows NT line of operating systems, a small number (such as programs started early in the Windows startup process) use the Native API.
The Native API is also used by subroutines such as those in kernel32.dll that implement the Windows API, the API based on which most of the Windows components are created.

Windows Registry

registryRegistry Editorregistry keys
The Windows API functions that query and manipulate registry values take value names separately from the key path and/or handle that identifies the parent key.

Windows 8

8Microsoft Windows 8Windows 8.0
For instance, Windows 8 provides the Windows API and the WinRT API, which is implemented in C++ and is object-oriented by design.
The user's default browser can distribute a Metro-style web browser in the same package as the desktop version, which has access to functionality unavailable to other apps, such as being able to permanently run in the background, use multiple background processes, and use Windows API code instead of WinRT (allowing for code to be re-used with the desktop version, while still taking advantage of features available to Windows Store apps, such as charms).

Windows 95

95Microsoft Windows 95Windows 95 OSR2
The Win32 API is implemented by three modules, each consisting of a 16-bit and a 32-bit component:

DirectX

DirectX 11DirectX 9DirectX 10
It was the Win32 replacement for the DCI and WinG APIs for Windows 3.1.

Windows.h

It is the Pascal equivalent to windows.h, used in C.
windows.h is a Windows-specific header file for the C and C++ programming languages which contains declarations for all of the functions in the Windows API, all the common macros used by Windows programmers, and all the data types used by the various functions and subsystems.

Thread (computing)

threadthreadsmultithreading
OS/2 and Win32 used this approach from the start, while on Linux the usual C library implements this approach (via the NPTL or older LinuxThreads).

Dynamic-link library

DLLDLLsdynamic-link libraries
In Windows API, the DLL files are organized into sections.

Windows Template Library

WTL
The Windows Template Library (WTL) was developed as an extension to ATL, and intended as a smaller alternative to MFC.
Windows Template Library (WTL) is a free software, object-oriented C++ template library for Win32 development.

DirectInput

XInput
It initially offered true support only for joysticks, as the mouse and keyboard modules simply provided wrappers to the standard Win32 API.

Windows NT

NTMicrosoft Windows NTWindows NT family
Major features of the Windows NT family include Windows Shell, Windows API, Native API, Active Directory, Group Policy, Hardware Abstraction Layer, NTFS, BitLocker, Windows Store, Windows Update, and Hyper-V.

ReactOS

FreeWin95ReactOS ExplorerReactOS kernel
ReactOS goes a step further and aims to implement the full Windows operating system, working closely with the Wine project to promote code re-use and compatibility.
ReactOS has been noted as a potential open-source drop-in replacement for Windows and for its information on undocumented Windows APIs.

Win32s

While Win32 was originally introduced with Windows NT 3.1 and Win32s allowed use of a Win32 subset before Windows 95, it was not until Windows 95 that widespread porting of applications to Win32 began.
Win32s was intended as a partial implementation of the Win32 Windows API as it existed in early versions of Windows NT.

Pascal (programming language)

PascalPascal programming languageISO 7185
Windows.pas is a Pascal/Delphi unit which contains the Windows-specific API declarations.
TMT Pascal was the first Borland-compatible compiler for 32-bit DOS protected mode, OS/2 and Win32 operating systems.

Windows NT 3.1

NT 3.13.1Microsoft Windows NT 3.1
While Win32 was originally introduced with Windows NT 3.1 and Win32s allowed use of a Win32 subset before Windows 95, it was not until Windows 95 that widespread porting of applications to Win32 began.
In August 1990, as a response to the popularity of Windows 3.0, the NT OS/2 team decided to re-work the operating system to use an extended 32-bit port of the Windows API known as Win32.

Wine (software)

WineWine 1.0Wine software
The Wine project provides a Win32 API compatibility layer for Unix-like platforms, between Linux kernel API and programs written for the Windows API.
It was inspired by two Sun Microsystems' products, the Wabi for the Solaris operating system, and the Public Windows Initiative, which was an attempt to get the Windows API fully reimplemented in the public domain as an ISO standard but rejected due to pressure from Microsoft in 1996.

Architecture of Windows NT

Windows NT kernelNT kernelWindows kernel
There are four main environment subsystems: the Win32 subsystem, an OS/2 subsystem, the Windows Subsystem for Linux and a POSIX subsystem.

Microsoft Visual Studio

Visual StudioVisual Studio 2005Visual Studio 2008
For a time, the Microsoft Visual Studio and Borland's integrated development system were the only integrated development environments (IDEs) that could provide this (although, the SDK is downloadable for free separately from the entire IDE suite, from Microsoft Windows SDK for Windows 7 and .NET Framework 4).
Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight.

Wabi (software)

WabiWindows Application Binary Interface
Efforts toward standardization included Sun's Public Windows Interface (PWI) for Win16 (see also: Sun Windows Application Binary Interface (Wabi)), Willows Software's Application Programming Interface for Windows (APIW) for Win16 and Win32 (see also: Willows TWIN), and ECMA-234, which attempted to standardize the Windows API bindingly.
Wabi is a discontinued commercial software application from Sun Microsystems that implements the Windows Win16 API specification on Solaris; a version for Linux was also released by Caldera Systems.

OS/2

OS/2 WarpIBM OS/2OS/2 Warp 4
Odin is a project to emulate Win32 on OS/2, superseding the original Win-OS/2 emulation which was based on Microsoft code.
OS/2 was announced when Windows 2.0 was near completion, and the Windows API already defined.

Microsoft Windows

WindowsPCMS Windows
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. Windows.pas is a Pascal/Delphi unit which contains the Windows-specific API declarations.
However, following the successful release of Windows 3.0, the NT development team decided to rework the project to use an extended 32-bit port of the Windows API known as Win32 instead of those of OS/2.

MinGW

MSYSMinGW-w64MinGW/MSYS
, the MinGW and Cygwin projects also provide such an environment based on the GNU Compiler Collection (GCC), using a stand-alone header file set, to make linking against the Win32-specific DLLs simple.
MinGW includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows (assembler, linker, archive manager), a set of freely distributable Windows specific header files and static import libraries which enable the use of the Windows API, a Windows native build of the GNU Project's GNU Debugger, and miscellaneous utilities.