How to get whole RTF code from RichEdit as PChar string

I need to put RTF code (character stream fulfill with '{}', '\') in a
PChar buffer like following.

        RichStream: TMemoryStream;
        RichBuffer: PChar; // a long nulleding string
                RichEdit1.lines.SaveToStream(RichStream);

Then, definitely, the RTF stream has been in the Memory of RichStream
that can be proved like this:

        Memo1.SetTextBuf(RichStream.Memory);

Now I can see the whole RTF code in the Memo1 like following:

        {\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fnil MS Sans...
        ......
        \par }

But, it's very strange, I can't get whole code by both of following
ways:

        Memo1.GetTextBuf(RichBuffer, 2000);
or      StrCopy(RichBuffer, PChar(RichStream.Memory));

That I can only get about the first 256 characters of whole RTF
contents. Why??? Could you help me?

Thanks in advance!

Chen, Xun