summaryrefslogtreecommitdiff
path: root/src/vm/ecalllist.h
diff options
context:
space:
mode:
authorJeremy Koritzinsky <jkoritzinsky@gmail.com>2019-03-22 17:09:21 -0700
committerGitHub <noreply@github.com>2019-03-22 17:09:21 -0700
commitacd1164c8c89582f13163e309a0183c72bc13924 (patch)
tree831ab704ef87ed1a5b9e1a32be0c4df24b7af736 /src/vm/ecalllist.h
parent017ded3c6acd653b875f4ef12c232617855dea09 (diff)
downloadcoreclr-acd1164c8c89582f13163e309a0183c72bc13924.tar.gz
coreclr-acd1164c8c89582f13163e309a0183c72bc13924.tar.bz2
coreclr-acd1164c8c89582f13163e309a0183c72bc13924.zip
Fix WinRT marshalling for NotifyPropertyChangedEventArgs and NotifyCollectionChangedEventArgs (CoreCLR side) (#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.
Diffstat (limited to 'src/vm/ecalllist.h')
-rw-r--r--src/vm/ecalllist.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/vm/ecalllist.h b/src/vm/ecalllist.h
index c184633221..ae98cff196 100644
--- a/src/vm/ecalllist.h
+++ b/src/vm/ecalllist.h
@@ -818,7 +818,6 @@ FCFuncStart(gInteropMarshalFuncs)
#ifdef FEATURE_COMINTEROP
FCFuncElement("GetHRForException", MarshalNative::GetHRForException)
- FCFuncElement("GetHRForException_WinRT", MarshalNative::GetHRForException_WinRT)
FCFuncElement("GetRawIUnknownForComObjectNoAddRef", MarshalNative::GetRawIUnknownForComObjectNoAddRef)
FCFuncElement("IsComObject", MarshalNative::IsComObject)
FCFuncElement("GetObjectForIUnknown", MarshalNative::GetObjectForIUnknown)
@@ -835,21 +834,26 @@ FCFuncStart(gInteropMarshalFuncs)
FCFuncElement("GetObjectsForNativeVariants", MarshalNative::GetObjectsForNativeVariants)
FCFuncElement("GetStartComSlot", MarshalNative::GetStartComSlot)
FCFuncElement("GetEndComSlot", MarshalNative::GetEndComSlot)
-
- FCFuncElement("InitializeManagedWinRTFactoryObject", MarshalNative::InitializeManagedWinRTFactoryObject)
-
- FCFuncElement("GetNativeActivationFactory", MarshalNative::GetNativeActivationFactory)
FCFuncElement("GetIUnknownForObjectNative", MarshalNative::GetIUnknownForObjectNative)
FCFuncElement("GetComInterfaceForObjectNative", MarshalNative::GetComInterfaceForObjectNative)
FCFuncElement("InternalReleaseComObject", MarshalNative::ReleaseComObject)
FCFuncElement("Release", MarshalNative::Release)
- FCFuncElement("InitializeWrapperForWinRT", MarshalNative::InitializeWrapperForWinRT)
FCFuncElement("GetTypedObjectForIUnknown", MarshalNative::GetTypedObjectForIUnknown)
FCFuncElement("ChangeWrapperHandleStrength", MarshalNative::ChangeWrapperHandleStrength)
FCFuncElement("CleanupUnusedObjectsInCurrentContext", MarshalNative::CleanupUnusedObjectsInCurrentContext)
#endif // FEATURE_COMINTEROP
FCFuncEnd()
+#ifdef FEATURE_COMINTEROP
+FCFuncStart(gWindowsRuntimeMarshalFuncs)
+ FCFuncElement("GetNativeActivationFactory", MarshalNative::GetNativeActivationFactory)
+ FCFuncElement("GetHRForException", MarshalNative::GetHRForException_WinRT)
+ FCFuncElement("GetUniqueObjectForIUnknownWithoutUnboxing", MarshalNative::GetUniqueObjectForIUnknownWithoutUnboxing)
+ FCFuncElement("InitializeManagedWinRTFactoryObject", MarshalNative::InitializeManagedWinRTFactoryObject)
+ FCFuncElement("InitializeWrapper", MarshalNative::InitializeWrapperForWinRT)
+FCFuncEnd()
+#endif
+
FCFuncStart(gInteropNativeLibraryFuncs)
QCFuncElement("LoadFromPath", NativeLibraryNative::LoadFromPath)
QCFuncElement("LoadByName", NativeLibraryNative::LoadByName)
@@ -1300,6 +1304,7 @@ FCClassElement("WeakReference`1", "System", gWeakReferenceOfTFuncs)
#ifdef FEATURE_COMINTEROP
FCClassElement("WinRTTypeNameConverter", "System.StubHelpers", gWinRTTypeNameConverterFuncs)
+FCClassElement("WindowsRuntimeMarshal", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeMarshalFuncs)
#endif // FEATURE_COMINTEROP