Skip to content

Commit d0845d8

Browse files
committed
Experimental manual marshalling
1 parent 386e9bc commit d0845d8

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/libraries/System.Transactions.Local/src/System/Transactions/DtcProxyShim/DtcInterfaces/IResourceManagerFactory2.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ internal void CreateEx(
2020
[MarshalAs(UnmanagedType.LPStr)] string pszRMName,
2121
[MarshalAs(UnmanagedType.Interface)] IResourceManagerSink pIResMgrSink,
2222
in Guid riidRequested,
23-
[MarshalAs(UnmanagedType.Interface)] out object rm);
23+
out IntPtr rm);
2424
}

src/libraries/System.Transactions.Local/src/System/Transactions/DtcProxyShim/DtcProxyShimFactory.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,9 @@ public void ConnectToProxy(
109109
"System.Transactions.InternalRM",
110110
rmNotifyShim,
111111
Guids.IID_IResourceManager_Guid,
112-
out object? rm);
112+
out IntPtr rm);
113113

114-
rmShim.ResourceManager = (IResourceManager)rm;
114+
rmShim.ResourceManager = (IResourceManager)Marshal.GetObjectForIUnknown(rm);
115115
});
116116

117117
resourceManagerShim = rmShim;
@@ -174,9 +174,9 @@ public void CreateResourceManager(
174174
"System.Transactions.ResourceManager",
175175
rmNotifyShim,
176176
Guids.IID_IResourceManager_Guid,
177-
out object? rm);
177+
out IntPtr rm);
178178

179-
rmShim.ResourceManager = (IResourceManager)rm;
179+
rmShim.ResourceManager = (IResourceManager)Marshal.GetObjectForIUnknown(rm);
180180
});
181181

182182
resourceManagerShim = rmShim;

0 commit comments

Comments
 (0)