public int FindClosestLine(int line)
        {
            uint result;

            SymUnmanagedDocument.FindClosestLine((uint)line, out result);
            return((int)result);
        }
        public byte[] GetSourceRange(int startLine, int startColumn, int endLine, int endColumn)
        {
            uint bufSize;

            SymUnmanagedDocument.GetSourceRange((uint)startLine, (uint)startColumn, (uint)endLine, (uint)endColumn, 0, out bufSize, null);
            var buffer = new byte[bufSize];

            SymUnmanagedDocument.GetSourceRange((uint)startLine, (uint)startColumn, (uint)endLine, (uint)endColumn, (uint)buffer.Length, out bufSize, buffer);
            return(buffer);
        }
        public byte[] GetCheckSum()
        {
            uint bufSize;

            SymUnmanagedDocument.GetCheckSum(0, out bufSize, null);
            var buffer = new byte[bufSize];

            SymUnmanagedDocument.GetCheckSum((uint)buffer.Length, out bufSize, buffer);
            return(buffer);
        }