Esempio n. 1
0
        /// <summary>
        /// Gets all Asar current warning. They're safe to keep for as long as you want.
        /// </summary>
        /// <returns>All Asar's warnings.</returns>
        public static Asarerror[] getwarnings()
        {
            int           length = 0;
            RawAsarError *ptr    = asar_getwarnings(out length);

            return(cleanerrors(ptr, length));
        }
Esempio n. 2
0
        private static Asarerror[] cleanerrors(RawAsarError *ptr, int length)
        {
            Asarerror[] output = new Asarerror[length];

            // Copy unmanaged to managed memory to avoid potential errors in case the area
            // gets cleared by Asar.
            for (int i = 0; i < length; i++)
            {
                output[i].Fullerrdata    = Marshal.PtrToStringAnsi(ptr[i].fullerrdata);
                output[i].Rawerrdata     = Marshal.PtrToStringAnsi(ptr[i].rawerrdata);
                output[i].Block          = Marshal.PtrToStringAnsi(ptr[i].block);
                output[i].Filename       = Marshal.PtrToStringAnsi(ptr[i].filename);
                output[i].Line           = ptr[i].line;
                output[i].Callerfilename = Marshal.PtrToStringAnsi(ptr[i].callerfilename);
                output[i].Callerline     = ptr[i].callerline;
                output[i].ErrorId        = ptr[i].errid;
            }

            return(output);
        }
Esempio n. 3
0
        /// <summary>
        /// Gets all Asar current errors. They're safe to keep for as long as you want.
        /// </summary>
        /// <returns>All Asar's errors.</returns>
        public static Asarerror[] geterrors()
        {
            RawAsarError *ptr = asar_geterrors(out int length);

            return(cleanerrors(ptr, length));
        }
Esempio n. 4
0
        /// <summary>
        /// Gets all Asar current warning. They're safe to keep for as long as you want.
        /// </summary>
        /// <returns>All Asar's warnings.</returns>
        public static Asarerror[] GetWarnings()
        {
            RawAsarError *ptr = _GetWarnings(out int length);

            return(CleanErrors(ptr, length));
        }