IronPython.Modules.MemoryHolder.ReadAnsiString C# (CSharp) Method

ReadAnsiString() static private method

static private ReadAnsiString ( IntPtr addr, int offset, int length ) : string
addr System.IntPtr
offset int
length int
return string
        internal static string ReadAnsiString(IntPtr addr, int offset, int length) {
            // instead of Marshal.PtrToStringAnsi we do this because
            // ptrToStringAnsi gives special treatment to values >= 128.
            StringBuilder res = new StringBuilder();
            if (checked(offset + length) < Int32.MaxValue) {
                for (int i = 0; i < length; i++) {
                    res.Append((char)Marshal.ReadByte(addr, offset + i));
                }
            }
            return res.ToString();
        }

Same methods

MemoryHolder::ReadAnsiString ( IntPtr addr, int offset ) : string
MemoryHolder::ReadAnsiString ( int offset ) : string
MemoryHolder::ReadAnsiString ( int offset, int length ) : string

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        /// Helper function for translating from memset to NT's FillMemory API.
        /// </summary>
        private static IntPtr StringAt(IntPtr src, int len)
        {
            string res;

            if (len == -1)
            {
                res = MemoryHolder.ReadAnsiString(src, 0);
            }
            else
            {
                res = MemoryHolder.ReadAnsiString(src, 0, len);
            }

            return(GCHandle.ToIntPtr(GCHandle.Alloc(res)));
        }
All Usage Examples Of IronPython.Modules.MemoryHolder::ReadAnsiString