Esempio n. 1
0
        public static ValueTuple <UnmanagedLogWriterFunc, UnmanagedDestroyNotify, IntPtr> CreateNotifyDelegate(LogWriterFunc func)
        {
            var data = new UnmanagedLogWriterFuncData {
                IsAsync         = false,
                Func            = func,
                UnmanagedFunc   = UnmanagedFunc,
                UnmanagedNotify = UnmanagedNotify,
            };
            var gcHandle = GCHandle.Alloc(data);

            return(data.UnmanagedFunc, data.UnmanagedNotify, (IntPtr)gcHandle);
        }
Esempio n. 2
0
        public static ValueTuple <UnmanagedLogWriterFunc, IntPtr> CreateDelegate(LogWriterFunc func, bool isAsync = false)
        {
            var data = new UnmanagedLogWriterFuncData {
                IsAsync         = isAsync,
                Func            = func,
                UnmanagedFunc   = UnmanagedFunc,
                UnmanagedNotify = null,
            };
            var gcHandle = GCHandle.Alloc(data);

            return(data.UnmanagedFunc, (IntPtr)gcHandle);
        }