File: _generated\0\LibraryImports.g.cs
Web Access
Project: src\src\runtime\src\libraries\System.Transactions.Local\src\System.Transactions.Local.csproj (System.Transactions.Local)
// <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);
        }
    }
}