Alter CCW wrapping semantics (#23709)
authorAaron Robinson <arobins@microsoft.com>
Tue, 9 Apr 2019 22:07:34 +0000 (15:07 -0700)
committerGitHub <noreply@github.com>
Tue, 9 Apr 2019 22:07:34 +0000 (15:07 -0700)
commita6b0eef9d4a61e3ef5c3879a5016931f8ca0cf99
treefc4ab7c05721f8dcfb667cd522737f2c1cd8f12f
parent5608b4ff0f81b99a5d436dec1e23b393503a4e07
Alter CCW wrapping semantics (#23709)

* Update CCW semantics to not unwrap when a managed COM server was activated
  from a managed COM client. This is a functional change from .NET Framework.

* Add support for CoreShim to "attach" to the existing CLR instance when
 running from a CoreRun scenario.

* Add testing for NET COM client activating a NET COM server
22 files changed:
src/coreclr/hosts/corerun/corerun.cpp
src/coreclr/hosts/coreshim/CoreShim.cpp
src/coreclr/hosts/coreshim/CoreShim.h
src/vm/comcallablewrapper.cpp
src/vm/comcallablewrapper.h
src/vm/interopconverter.cpp
src/vm/runtimecallablewrapper.cpp
tests/issues.targets
tests/src/Interop/COM/NETClients/Aggregation/NETClientAggregation.csproj
tests/src/Interop/COM/NETClients/ConsumeNETServer/App.manifest [new file with mode: 0644]
tests/src/Interop/COM/NETClients/ConsumeNETServer/ConsumeNETServer.csproj [new file with mode: 0644]
tests/src/Interop/COM/NETClients/ConsumeNETServer/CoreShim.X.manifest [new file with mode: 0644]
tests/src/Interop/COM/NETClients/ConsumeNETServer/Program.cs [new file with mode: 0644]
tests/src/Interop/COM/NETClients/Events/NETClientEvents.csproj
tests/src/Interop/COM/NETClients/IDispatch/NETClientIDispatch.csproj
tests/src/Interop/COM/NETClients/Licensing/NETClientLicense.csproj
tests/src/Interop/COM/NETClients/Primitives/NETClientPrimitives.csproj
tests/src/Interop/COM/NETServer/ConsumeNETServerTesting.cs [new file with mode: 0644]
tests/src/Interop/COM/NETServer/NETServer.csproj
tests/src/Interop/COM/ServerContracts/Server.CoClasses.cs [moved from tests/src/Interop/COM/ServerContracts/NativeServers.cs with 86% similarity]
tests/src/Interop/COM/ServerContracts/Server.Contracts.cs
tests/src/Interop/COM/ServerContracts/ServerGuids.cs