|
// <auto-generated/>
namespace System.Transactions.DtcProxyShim
{
internal sealed unsafe partial class DtcProxyShimFactory
{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.LibraryImportGenerator", "11.0.14.26904")]
private static unsafe partial int DtcGetTransactionManagerExW(string pszHost, string pszTmName, in global::System.Guid riid, int grfOptions, void* pvConfigPararms, out global::System.Transactions.DtcProxyShim.DtcInterfaces.ITransactionDispenser ppvObject)
{
bool __invokeSucceeded = default;
ppvObject = default;
void* __ppvObject_native = default;
int __retVal = default;
try
{
// Pin - Pin data in preparation for calling the P/Invoke.
fixed (global::System.Guid* __riid_native = &riid)
fixed (void* __pszTmName_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(pszTmName))
fixed (void* __pszHost_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(pszHost))
{
__retVal = __PInvoke((ushort*)__pszHost_native, (ushort*)__pszTmName_native, __riid_native, grfOptions, pvConfigPararms, &__ppvObject_native);
}
__invokeSucceeded = true;
// Unmarshal - Convert native data to managed data.
ppvObject = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::System.Transactions.DtcProxyShim.DtcInterfaces.ITransactionDispenser>.ConvertToManaged(__ppvObject_native);
}
finally
{
if (__invokeSucceeded)
{
// CleanupCalleeAllocated - Perform cleanup of callee allocated resources.
global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::System.Transactions.DtcProxyShim.DtcInterfaces.ITransactionDispenser>.Free(__ppvObject_native);
}
}
return __retVal;
// Local P/Invoke
[global::System.Runtime.InteropServices.DllImportAttribute("xolehlp.dll", EntryPoint = "DtcGetTransactionManagerExW", ExactSpelling = true, CharSet = global::System.Runtime.InteropServices.CharSet.Unicode)]
static extern unsafe int __PInvoke(ushort* __pszHost_native, ushort* __pszTmName_native, global::System.Guid* __riid_native, int __grfOptions_native, void* __pvConfigPararms_native, void** __ppvObject_native);
}
}
}
|