File: _generated\0\LibraryImports.g.cs
Web Access
Project: src\runtime\src\libraries\System.Transactions.Local\src\System.Transactions.Local.csproj (System.Transactions.Local)
// <auto-generated/>
namespace System.Transactions.DtcProxyShim
{
    internal sealed partial class DtcProxyShimFactory
    {
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.LibraryImportGenerator", "11.0.14.41201")]
        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)
        {
            unsafe
            {
                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);
            }
        }
    }
}