Esempio n. 1
0
        internal static string OutParamsToString(OutStringMethod outStringMethod)
        {
            UIntPtr ptr = outStringMethod(null, UIntPtr.Zero);

            if (ptr.Equals(UIntPtr.Zero))
            {
                return(null);
            }
            StringBuilder builder = new StringBuilder((int)ptr.ToUInt32());

            outStringMethod(builder, ptr);
            return(builder.ToString());
        }
Esempio n. 2
0
        internal static String OutParamsToString(OutStringMethod outStringMethod)
        {
            UIntPtr requiredSize = outStringMethod(null, UIntPtr.Zero);

            if (requiredSize.Equals(UIntPtr.Zero))
            {
                return(null);
            }

            StringBuilder sizedBuilder = new StringBuilder((int)requiredSize.ToUInt32());

            outStringMethod(sizedBuilder, requiredSize);
            return(sizedBuilder.ToString());
        }
Esempio n. 3
0
        internal static string OutParamsToString(OutStringMethod outStringMethod)
        {
            UIntPtr ptr = outStringMethod(null, UIntPtr.Zero);

            if (ptr.Equals(UIntPtr.Zero))
            {
                return(null);
            }
            try
            {
                byte[] buffer = new byte[ptr.ToUInt32()];
                outStringMethod(buffer, ptr);
                return(Encoding.UTF8.GetString(buffer, 0, ((int)ptr.ToUInt32()) - 1));
            }
            catch (Exception exception)
            {
                UnityEngine.Debug.LogError("Exception creating string from char array: " + exception);
                return(string.Empty);
            }
        }
Esempio n. 4
0
        internal static string OutParamsToString(OutStringMethod outStringMethod)
        {
            UIntPtr out_size = outStringMethod(null, UIntPtr.Zero);

            if (!out_size.Equals(UIntPtr.Zero))
            {
                string text = null;
                try
                {
                    byte[] array = new byte[out_size.ToUInt32()];
                    outStringMethod(array, out_size);
                    return(Encoding.UTF8.GetString(array, 0, (int)(out_size.ToUInt32() - 1)));
                }
                catch (Exception arg)
                {
                    Debug.LogError((object)("Exception creating string from char array: " + arg));
                    return(string.Empty);
                }
            }
            return(null);
        }
Esempio n. 5
0
        internal static String OutParamsToString(OutStringMethod outStringMethod)
        {
            UIntPtr requiredSize = outStringMethod(null, UIntPtr.Zero);

            if (requiredSize.Equals(UIntPtr.Zero))
            {
                return(null);
            }

            string str = null;

            try {
                byte[] array = new byte[requiredSize.ToUInt32()];
                outStringMethod(array, requiredSize);
                str = Encoding.UTF8.GetString(array, 0,
                                              (int)requiredSize.ToUInt32() - 1);
            } catch (Exception e) {
                Debug.LogError("Exception creating string from char array: " + e);
                str = string.Empty;
            }
            return(str);
        }