如何获得IStream的长度? C ++

时间:2009-10-13 16:26:06

标签: c++ windows stream

我正在创建一个IStream,如下所示:

IStream* stream;
result = CreateStreamOnHGlobal(0, TRUE, &stream);

然后我有一个CImage对象,我保存到这个流:

image->Save(stream, Gdiplus::ImageFormatBMP);

我需要获取写入此IStream的字节大小。

我该怎么做?

IStream中没有长度或类似的内容...

谢谢!

2 个答案:

答案 0 :(得分:7)

IStream::Stat应该做你想做的事。

答案 1 :(得分:4)

或者您可以使用:

    ULARGE_INTEGER liSize;
    IStream_Size(pStream, &liSize);

在此上下文中您可能会发现有用的其他函数:

    IStream_Reset(pStream);         // reset seek position to beginning
    IStream_Read(pStream, mem, size);