开发者

What is ADODB.Stream?

What exactly is it, or was it, as is a interop, used for?

Here, this is the method where I use it:

    public void SaveAttachmentMime(String fileName, CDO.Message message)
    {
        ADODB.开发者_运维问答Stream stream = message.BodyPart.GetStream();

        String messageString = stream.ReadText(stream.Size);

        StreamWriter outputStream = new StreamWriter(fileName);

        outputStream.Write(messageString);
        outputStream.Flush();
        outputStream.Close();
    }


The ADODB.Stream object was used to read files and other streams. What it does is part of what the StreamReader, StreamWriter, FileStream and Stream does in the .NET framework.

For what the code in that method uses it for, in .NET you would use a StreamReader to read from a Stream.

Note that the code in the method only works properly if the stream contains non-Unicode data, as it uses the size in bytes to determine how many characters to read. With a Unicode encoding some characters may be encoded as several bytes, so the stream would run into the end of the stream before it could read the number of characters specified.


It is a COM object, which is used to represent a stream of data or text. The data can be binary. If I recall correctly, it implements the IStream interface, which stores data in a structured storage object. You can find the interop representation of the interface in System.Runtime.InteropServices.ComTypes.IStream.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜