Fix WinRT marshalling for NotifyPropertyChangedEventArgs and NotifyCollectionChangedE...
authorJeremy Koritzinsky <jkoritzinsky@gmail.com>
Sat, 23 Mar 2019 00:09:21 +0000 (17:09 -0700)
committerGitHub <noreply@github.com>
Sat, 23 Mar 2019 00:09:21 +0000 (17:09 -0700)
commitcf18de84643b48343d9d2989d0dec32c17a151b6
tree81f2627220d8b9c6755d39417c840f864e0c0ea5
parentce093614dba4768ca01631600fbc67a21c6218fc
Fix WinRT marshalling for NotifyPropertyChangedEventArgs and NotifyCollectionChangedEventArgs (CoreCLR side) (dotnet/coreclr#23401)

* Enable marshalling IntPtr and UIntPtr in WinRT scenarios to support our marshalling infrastructure.

* Enable getting an RCW for a native COM object while ignoring WinRT projections.

* Rename to Marshal.GetUniqueObjectForIUnknownWithoutUnboxing

* Clean up contract.

* Move GetUniqueObjectForIUnknownWithoutUnboxing to WindowsRuntimeMarshal.

* Move WinRT-specific FCalls to WindowsRuntimeMarshal.

Commit migrated from https://github.com/dotnet/coreclr/commit/acd1164c8c89582f13163e309a0183c72bc13924
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/Marshal.CoreCLR.cs
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/WindowsRuntime/WindowsRuntimeMarshal.cs
src/coreclr/src/vm/dllimport.cpp
src/coreclr/src/vm/ecalllist.h
src/coreclr/src/vm/marshalnative.cpp
src/coreclr/src/vm/marshalnative.h
src/coreclr/src/vm/mlinfo.cpp
src/coreclr/src/vm/mscorlib.h