Skip to content

Move to CppWinRT 2.0.250303.1#19268

Merged
DHowett merged 4 commits intomainfrom
dev/duhowett/cppwinrt-25
Aug 25, 2025
Merged

Move to CppWinRT 2.0.250303.1#19268
DHowett merged 4 commits intomainfrom
dev/duhowett/cppwinrt-25

Conversation

@DHowett
Copy link
Member

@DHowett DHowett commented Aug 24, 2025

Interesting changes in this update:

  • better support for REFIID,IUnknown** in capture
  • LOAD_LIBRARY_SEARCH_DEFAULT_DIRS for all SxS DLL loading
  • get_self reading from classic COM interfaces (rather than WinRT
    ones)
  • better incremental builds by ignoring stale winmd files (see
    Remove references to stale winmd files to fix incremental builds cppwinrt#1404)
  • some ability to mix c++17 and c++20 static libraries
  • better codegen for consume methods

This version of C++/WinRT is better about propagating protected
fields from the metadata into the C++ projections. This required
us to switch to the I...Protected interfaces for some things
we are technically not allowed access to. We also had some
overridable (protected!) members of our own that needed undec-
oration.

Interesting changes in this update:
- better support for `REFIID,IUnknown**` in `capture`
- `LOAD_LIBRARY_SEARCH_DEFAULT_DIRS` for all SxS DLL loading
- `get_self` reading from classic COM interfaces (rather than WinRT
  ones)
- better incremental builds by ignoring stale winmd files (see
  microsoft/cppwinrt#1404)
- some ability to mix c++17 and c++20 static libraries
- better codegen for `consume` methods
@DHowett
Copy link
Member Author

DHowett commented Aug 25, 2025

@lhecker it builds now

@DHowett DHowett merged commit 21cfbf1 into main Aug 25, 2025
19 checks passed
@DHowett DHowett deleted the dev/duhowett/cppwinrt-25 branch August 25, 2025 17:46
@DHowett DHowett moved this to To Cherry Pick in 1.23 Servicing Pipeline Jan 15, 2026
@DHowett DHowett moved this from To Cherry Pick to Cherry Picked in 1.23 Servicing Pipeline Jan 15, 2026
DHowett added a commit that referenced this pull request Jan 15, 2026
Interesting changes in this update:
- better support for `REFIID,IUnknown**` in `capture`
- `LOAD_LIBRARY_SEARCH_DEFAULT_DIRS` for all SxS DLL loading
- `get_self` reading from classic COM interfaces (rather than WinRT
  ones)
- better incremental builds by ignoring stale winmd files (see
  microsoft/cppwinrt#1404)
- some ability to mix c++17 and c++20 static libraries
- better codegen for `consume` methods

This version of C++/WinRT is better about propagating `protected`
fields from the metadata into the C++ projections. This required
us to switch to the `I...Protected` interfaces for some things
we are _technically_ not allowed access to. We also had some
`overridable` (protected!) members of our own that needed undec-
oration.

(cherry picked from commit 21cfbf1)
Service-Card-Id: PVTI_lADOAF3p4s4AxadtzgjvNtQ
Service-Version: 1.23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Cherry Picked

Development

Successfully merging this pull request may close these issues.

2 participants