C++/WinRT 是一種標準的 C++17 語言投影,適用於 Windows 執行階段(WinRT)API。 它以標頭檔為基礎的函式庫實作,設計目的是提供任何符合標準的 C++17 編譯器一流存取現代 Windows API。
C++/WinRT 讓你能使用並撰寫標準 C++ 的 Windows 執行階段 API。 它是推薦用來取代 C++/CX 以及 Windows 執行階段 C++ 範本函式庫(WRL)的替代方案。
開始
- C++/WinRT 簡介 — 概述 C++/WinRT 是什麼及其存在原因。
- 開始使用 C++/WinRT — 先設定你的開發環境,並撰寫你的第一個 C++/WinRT 應用程式。
核心概念
- 並行與非同步操作 — 撰寫並使用協程的非同步操作。
- 完成來源範例 ——報告進度、逾時及其他進階模式。
- 使用 C++/WinRT 的集合 — 建立及取用 Windows 執行階段 集合類型。
- 值的裝箱與拆箱 — 將純量值和陣列值裝箱及拆箱,以供需要 IInspectable 的 API 使用。
- 標準 C++ 資料型態與 C++/WinRT — 使用標準 C++ 型別搭配 Windows 執行階段 API。
- 值類別與參考 ——了解 lvalue、rvalue 以及 C++/WinRT 如何使用它們。
- 敏捷物件 ——C++/WinRT 中的敏捷如何運作。
- 字串處理 — 使用 winrt::hstring 及標準字串類型。
- 錯誤處理 — 使用 C++/WinRT 處理並產生錯誤。
編寫與互操作性
- 撰寫 COM 元件 — 使用 C++/WinRT 實作傳統 COM CoClass。
- 使用API — 呼叫 C++/WinRT 的 Windows 執行階段 API。
- 作者 API — 定義並實作您自己的 Windows 執行階段 類型。
- C++/WinRT 與 ABI 之間的互通性 — 在 ABI 與 C++/WinRT 物件之間進行轉換。
- 將參數傳遞至 ABI 邊界 — 有效地將值傳遞至該 ABI 邊界。
- 在 C++/WinRT 中使用 C# 元件 — 取用 C# Windows 執行階段 元件。
XAML 與使用者介面
- XAML 控制項;綁定到 C++/WinRT 屬性 — 將 XAML 控制項資料綁定到 C++/WinRT 屬性。
- XAML 項目控制項;綁定到集合 — 綁定到可觀察集合。
- XAML 自訂控制項 — 建立自訂(模板化)控制項。
Samples
參考與診斷
- 命名慣例 — C++/WinRT 命名規則與慣例。
- 原生除錯視覺化(natvis)— 使用 Visual Studio 的 natvis 來除錯 C++/WinRT 類型。
- 巨集 — C++/WinRT 預處理器巨集。
- 診斷直接分配 — 偵測並修正實施類型的直接分配。
- 關於 destructor 的詳細資訊 — 了解 C++/WinRT 中的 destructor 行為。