Windowsランタイム
これは標準C++ライブラリのSTL (Standard Template Library) コンテナと似たものであり、C++/WinRTではSTLコンテナとWinRTコンテナとの相互変換機能もいくつか用意されている。.NET言語(例えばC#やVB.NET)およびJavaScriptにおけるWinRTコレクションの利用は、C++の場合よりも透過的である。これは暗黙的に行なわれる、各言語における等価な型への自動的なマッピングによって実現される。マネージ言語でWinRTコンポーネントを記述するとき、COMとよく似たスタイルの規則に従う必要がある。例えば、公開されたメソッドやプロパティの戻り値およびパラメータとして宣言することができる型は、WinRT型またはWinRT互換型に限られるため、.NETコレクション型を直接使用することができない。同様に、C++では内部的なコードに関してはSTLやその他の型を自由に使用できるが、ABI境界を超える場合はWinRT型を使用する必要がある。
WinRTの文字列はHSTRING型として実装されているが、詳細は公開されていない不透明な型 (opaque type) である。HSTRINGは、C++/CXではPlatform::Stringに、C++/WinRTではwinrt::hstringに、.NETではSystem.Stringに、JavaScriptでは組み込みのStringオブジェクトにマッピングされる。
WinRTコンポーネントは、ネイティブ、マネージコード、スクリプティングを含む複数の言語とABIの間の相互運用性を視野に入れて設計されている。
WinRTアプリケーションはサンドボックス内で実行される。そのため、従来のデスクトップアプリケーションと比べてインストールや動作に関する制約が設けられるものの、セキュリティ面での安全性は向上する。WinRT APIは、従来のデスクトップ版Win32 APIと一部を共有するWin32 APIサブセットの上に構築されており、Win32 APIの代替というよりはむしろ高レベルのラッパーであるといえる。これは内部実装にWin32 APIを利用しているMicrosoft .NET Frameworkで使われているのと同じアプローチである。