Beispiel #1
0
        private static string PtrToDescr(IntPtr pResult)
        {
            if (IntPtr.Zero == pResult)
            {
                return(null);
            }
            var result = MarshalUtf8.PtrToStringUtf8(pResult);

            FreeMemory(pResult);
            return(result);
        }
Beispiel #2
0
        public static bool Init(Func <string, string> callback)
        {
            CallBackDelegate predicate = data =>
            {
                var result = MarshalUtf8.PtrToStringUtf8(data);
                FreeMemory(data);
                callback(result);
                return(true);
            };
            var CallbackHandle = GCHandle.Alloc(predicate);

            if (!SetCallback(predicate))
            {
                throw new Exception("Cant set callback");
            }

            return(ConnectorInitialize(Path, 3));
        }