Programming to WinRT with Standard C++ using C++/WinRT
Channel: Utah Cpp Programmers
Date: 16/07/2021

This month, Richard Thomson will give us an introduction to the WinRT APIs and how you can access them from standard C++, without resorting to non-standard language extensions and compilers. The WinRT APIs are the heart of writing Universal Windows Platform (UWP) applications that target Windows 10 desktop PCs and other devices such as Xbox and the Surface Hub.

WinRT is designed to be language agnostic and follows in the footsteps of COM (the Component Object Model) that has been on Windows platforms since 1993. To access the WinRT API you use a language projection appropriate to your programming language. C++/WinRT is a language projection that uses only standard C++ mechanisms.

We'll go over a little bit of the history of WinRT and how it relates to previous APIs available to C++ programmers on the Windows platform. Next, we'll discuss the mechanisms used by the C++/WinRT language projection implementation, which is a pure header-only library. Finally, we'll take a look at some examples of C++/WinRT applications and the support Visual Studio provides for writing such applications.