Skip to content

Conversation

@manodasanW
Copy link
Member

It is possible to have a CsWinRT component project reference another CsWinRT component project and for one to define interfaces while the other implements them. We were previously not treating the types from the referenced component project as a CsWinRT or WinRT component and were redefining them or not putting them on the vtable. This addresses those issues by looking for if our authoring metadata type where we define all our attributes for authoring types (ABI.Impl.) exists or not. If it does exist, we treat that as an existing projected WinRT type.

@manodasanW manodasanW requested a review from Sergio0694 July 9, 2025 01:41
@manodasanW manodasanW merged commit 5135551 into staging/2.3 Jul 9, 2025
12 checks passed
@manodasanW manodasanW deleted the manodasanw/checkcomponenttypes branch July 9, 2025 03:52
@gmgallo
Copy link

gmgallo commented Dec 28, 2025

Will this fix allow one authoring component fully instantiate anothere one?, I need this to interface SDKs from different vendors to move large shared_ptr<> arrarys from component A to component B with zero copy (std::move(large_arrary) thre components that I have created are: producer, transport, and consumer. both producer and consumer can access the implementation of transport to place and retrive the large array. My version of consumer works just fine, but producer relies on a C# arbitrer app to hand over an instance of transport to populate and return it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants