Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Jan 29, 2026

Backport of #123725 to release/10.0

/cc @AaronRobinsonMSFT

Customer Impact

  • Customer reported
  • Found internally

In #112375 a fix was checked in with insufficient validation. An issue was reported offline that uncovered a deficiency in that fix and the validation. This PR revisits that issue for .NET 10, adds the missing test cases, and adds comments on the utility of the dynamic interface map.

The regression is the casting of built-in COM interop objects to some managed (COM and non-COM) interfaces, depending on how the COM object enters the runtime. Occasionally there are workarounds, but in the most recent offline issue the workaround is very impactful.

Re fixes #112371

Regression

  • Yes
  • No

The PR that originally started this all off was #105965.

Testing

Added and verified tests for the original reported test and the one described offline - all now pass. Both the original OP reported issue and most recent issue were verifiied fixed with this change.

Risk

Low to Medium. The risk here isn't destabilizing issue, but rather introducing or not fixing a regression on some important niche scenario from the original change, #105965. This change is also considered low risk because this change represents a much more targeted change relative to the change that introduced the regression (that is, the additional of a new interface on the __ComObject when previously it had none).

This was originally fixed naively which resulted in an incomplete fix.
The activation path issues remained and this current fix addresses
the underlying issue - adding IDIC to __ComObject.
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @dotnet/interop-contrib
See info in area-owners.md if you want to be subscribed.

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

Labels

area-Interop-coreclr Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants