Programming to WinRT with Standard C++ using C++/WinRT
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.
![Windows Native API - Roger Orr [ACCU 2019]](https://i.ytimg.com/vi/a0KozcRhotM/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAa4_PBrbVDB5Cw-GY0A_7NzQW03g)
Windows Native API - Roger Orr [ACCU 2019]

C++20: An (Almost) Complete Overview - Marc Gregoire - CppCon 2020

CppCon 2016: Kenny Kerr & James McNellis “Embracing Standard C++ for the Windows Runtime"

Linux User/Kernel ABI: the realities of how C and C++ programs really talk to the OS - Greg Law

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Herb Sutter - Peering forward C++’s next decade

Writing Native Win32 Applications with WinLamb and Modern C++

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones

MIDL3 with Larry Osterman

How C Really Works

Managing Headers with Include What You Use

Effective C++/WinRT for UWP and Win32

Dancing with COM - Deep dive into understanding Component Object Model

Peering Forward - C++’s Next Decade - Herb Sutter - CppCon 2024

What Are Pointers? (C++)

Threads vs Coroutines — Why C++ Has Two Concurrency Models - Conor Spilsbury - CppCon 2025

Migrating a Project to CMake from Autotools

E01: Stupid C++ Tricks with Dave

How C++23 Changes the Way We Write Code - Timur Doumler - CppCon 2022

