The Windows application programming interface (API) lets you develop desktop and server applications that run successfully on all versions of Windows while taking advantage of the features and capabilities unique to each version.
The Windows API can be used in all Windows-based desktop applications, and the same functions are generally supported on 32-bit and 64-bit Windows. Differences in the implementation of the programming elements depend on the capabilities of the underlying operating system. These differences are noted in the API documentation.
This was formerly called the Win32 API. The name Windows API more accurately reflects its roots in 16-bit Windows and its support on 64-bit Windows.
API Sets are strongly named API contracts that provide architectural separation between an API contract and the associated host (DLL) implementation. API Sets contains a subset of the Windows API. The decoupling offers many engineering advantages including reducing the number of DLLs loaded in a process.
The .NET Framework class library provides access to system functionality for managed application development. It is the foundation on which .NET Framework applications, components, and controls are built.
Desktop apps can use a subset of the UWP APIs.
Universal Windows Platform (UWP) apps can use a subset of the Win32 and COM API. This subset of APIs was chosen to support key scenarios for UWP apps that were not already covered by the Windows Runtime, HTML/CSS, or other supported languages or standards.