Runtime support for upcoming .NET Core WinRT Host (#23402)
authorJeremy Koritzinsky <jkoritzinsky@gmail.com>
Thu, 4 Apr 2019 18:04:13 +0000 (11:04 -0700)
committerGitHub <noreply@github.com>
Thu, 4 Apr 2019 18:04:13 +0000 (11:04 -0700)
commitfdc9998609263d9f531079e2cbe0f3f31eba3382
tree2901d0c8a9aae057825289290547b65eaaa489ec
parent8a13881ea1d274067ac03b317fdbd9bcc9369990
Runtime support for upcoming .NET Core WinRT Host (#23402)

* First pass at adding winrt host entry-point.

* There's no way to specify HResult-swapping on a function called via hosted-interop so just return the HResult instead.

* Use the WindowsRuntimeMarshal class to create the activation factory and initialize it.

* Implement loading the dependent assemblies of a WinRT assembly into an isolated load context.

* PR Feedback.

* Fail to get the activation factory if the found type is not a managed type exported from a winmd.

* Rearrange parameters based on PR feedback.

* Remove unneeded include.

* Make ActivationFactoryLoader internal.

* Fix null-ref in WinRT-dependent-assembly loading

* Remove extraneous "System."
22 files changed:
src/System.Private.CoreLib/ILLinkTrim.xml
src/System.Private.CoreLib/System.Private.CoreLib.csproj
src/System.Private.CoreLib/src/Internal/Runtime/InteropServices/WindowsRuntime/ActivationFactoryLoader.cs [new file with mode: 0644]
src/System.Private.CoreLib/src/System/RtType.cs
src/System.Private.CoreLib/src/System/Runtime/Loader/AssemblyLoadContext.CoreCLR.cs
src/vm/appdomain.cpp
src/vm/assemblynative.cpp
src/vm/assemblynative.hpp
src/vm/assemblyspec.cpp
src/vm/clrprivbinderwinrt.cpp
src/vm/clrprivbinderwinrt.h
src/vm/corhost.cpp
src/vm/ecalllist.h
src/vm/interoputil.cpp
src/vm/interoputil.h
src/vm/runtimecallablewrapper.cpp
src/vm/runtimehandles.cpp
src/vm/runtimehandles.h
src/vm/stdinterfaces.cpp
src/vm/stubhelpers.cpp
src/vm/winrttypenameconverter.cpp
src/vm/winrttypenameconverter.h